我正在使用 xhtml2pdf ver。 0.0.6 和 reportlab ver。 2.7 在我的应用中使用 django 1.6.6 ,用于我的pdf生成。我需要生成年度报告,其中包含从数据库中获取的数据。我在xhtml2pdf 模块中使用 pisa 0.3.3,并且当数据长达一页时可以正确生成pdf。但当 数据超过一页时,我在第一页中的表格标题和下一页的后续数据行中出现对齐问题 。我用于pdf生成的代码如下:
<head>
<style type="text/css">
@page {
size: a4 portrait;
margin: 1cm 2cm;
margin-bottom: 1.5cm;
padding:0;
@frame footer {
-pdf-frame-content: footer-content;
bottom: 0.5cm;
margin-left: 2cm;
margin-right: 2cm;
height: 0.5cm;
}
}
h1, h2, h3, h4, h5, h6 {
-pdf-outline: false;
}
img {
zoom: 80%;
}
.logo {
font-weight: bold;
font-size: 20px;
}
</style>
</head>
<table class="table-bordered" style="width: 100%;">
<thead>
<tr>
<th style="width: 30%; font-size: 12px; text-align: left;">Col1</th>
<th style="width: 20%; font-size: 12px; text-align: right">Col2</th>
<th style="width: 30%;font-size: 12px; text-align: left;">Col3</th>
<th style="width: 20%;font-size: 12px; text-align: right;">Col4</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" style="vertical-align:top">
<table class="table-no-border" style="width:100%;">
<tbody>
{% for obj in objects %}
<tr>
<td style="text-align: left;">{{ obj.account__name }}</td>
<td style="text-align: right">{{ balance|floatformat:2|comma_sep_num }}</td>
</tr>
{% endfor %}
<tr>
<td style="text-align: left;">Profit/Loss</td>
<td style="text-align: right">{{ object.profit_loss|floatformat:2|comma_sep_num }}</td>
</tr>
</tbody>
</table>
</td>
<td colspan="2" style="vertical-align:top">
<table class="table-no-border" style="width:100%;">
<tbody>
{% for obj in inc_objects %}
{% if obj.credit_amount__sum > obj.debit_amount__sum %}
{% math obj.credit_amount__sum obj.debit_amount__sum "$1 - $2" as balance %}
{% else %}
{% math obj.debit_amount__sum obj.credit_amount__sum "$1 - $2" as balance %}
{% endif %}
{% if balance %}
<tr>
<td style="text-align: left;">{{ obj.account__name }}</td>
<td style="text-align: right">{{ balance|floatformat:2|comma_sep_num }}</td>
</tr>
{% endif %}
{% endfor %}
{% if profit_loss < 0 %}
{% math profit_loss "-1 * $1" as profit_loss %}
<tr>
<td style="text-align: left;">Excess of expense over income</td>
<td style="text-align: right">{{ profit_loss|abs|floatformat:2|comma_sep_num }}</td>
</tr>
{% math inc_total profit_loss|abs "$1 + $2" as inc_total %}
{% endif %}
</tbody>
</table>
</td>
</tr>
<tr>
<td colspan="2" style="text-align: right;font-weight: bold;">{{ exp_total|floatformat:2|comma_sep_num }}</td>
<td colspan="2" style="text-align: right;font-weight: bold;">{{ inc_total|floatformat:2|comma_sep_num }}</td>
</tr>
</tbody>
</table>
请回复您宝贵的点击/建议。提前谢谢。