我想用weasyprint和Django為我們的銷售代表的傭金生成一個貸方票據。
首先,我想在一個表格中打印所有已開發票的項目,并在這個表格下打印一個匯總表。在下一步中,我將創建貸方票據的布局。
超文本標記語言
{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="{% static 'css/test_style.css' %}">
<title>Title</title>
</head>
<body>
<table class="invoice_items">
<tr>
<th>Belegart</th>
<th>Datum</th>
<th>Beleg-Nr</th>
<th>Kunde</th>
<th>Artikel</th>
<th>Menge</th>
<th>Verkaufspreis</th>
<th>Rechnungsbetrag</th>
</tr>
{% for item in items %}
<tr>
<td>{{ forloop.counter }} - {{ item.document.document_type }}</td>
<td>{{ item.document.invoice_date }}</td>
<td>{{ item.document.invoice_number }}</td>
<td class="table_cell_left">{{ item.document.customer.name }}</td>
<td class="table_cell_left">{{ item.description }}</td>
<td>{{ item.quantity }}</td>
<td class="table_cell_right">{{ item.item_price }} €</td>
<td class="table_cell_right">{{ item.total_cost }} €</td>
</tr>
{% if item.comment %}
<tr>
<td class="table_cell_left" colspan="8"><b>Anmerkung:</b> {{ item.comment }}</td>
</tr>
{% endif %}
{% endfor %}
</table>
<div class="summary">
<table>
<tr>
<th class="table_cell_right">Summe Verk?ufe/Gutschriften</th>
<td class="table_cell_right">{{ total_sales|floatformat:"2g" }} €</td>
</tr>
{% for key, value in summary.commission_rates.items %}
<tr>
<th class="table_cell_right">Provision {{ key }} %</th>
<td class="table_cell_right">{{ value|floatformat:"2g" }} €</td>
</tr>
{% endfor %}
{% if 'special_items' in summary %}
{% for key, value in summary.special_items.items %}
<tr>
<th class="table_cell_right">{{ key }}</th>
<td class="table_cell_right">{{ value|floatformat:"2g" }} €</td>
</tr>
{% endfor %}
{% endif %}
<tr>
<th class="table_cell_right">Summe Provision ohne MwSt.</th>
<td class="table_cell_right">{{ commission_total|floatformat:"2g" }} €</td>
</tr>
<tr>
<th class="table_cell_right">Summe</th>
<td class="table_cell_right">{{ commission_total|floatformat:"2g" }}</td>
</tr>
</table>
</div>
</body>
</html>
鋼性鑄鐵
@page {
size: A4;
margin: 5mm 5mm 5mm 15mm;
}
table, th, td {
table-layout: fixed;
border-collapse: collapse;
border: 1px solid black;
font-size: 10px;
padding: 3px 5px 2px 5px;
break-inside: auto;
}
body {
font-family: "Lato", sans-serif;
}
.items {
float: right;
margin-top: 10mm;
}
.table_cell_left{
text-align: left;
}
.table_cell_right{
text-align: right;
}
.summary {
page-break-before: auto;
margin-top: 5mm;
}
這個管用...意味著它打印所有內容,并且因為沒有足夠的空間來容納完整的匯總表,所以在它之前進行分頁。唯一的& quot問題& quot...匯總表在這一頁的左邊;-).如果我添加一個float: right:到我的。summary css它不分頁,直接在items表下打印匯總表的第一行,并結束文檔。& quot休息& quot我的總結表被剪掉了。
因此..我在期待什么...如果invoice_items-table下面沒有足夠的空間,應該有一個分頁符,然后在右側有一個匯總表。
上一篇c 新建json對象
下一篇python 畫日線圖