我正在开发一个旅游门户网站,这对于为预订制作pdf门票至关重要。我用了Dompdf和tcPdf。但是从两个库中导出的pdf都存在设计错误。
这是生成的PDF
我的HTML设计代码
<table class="col-xs-12 other-table" style="text-align:left">
<tr>
<td>TICKET ID</td>
<td> </td>
<td><span>LD324865</span></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>PACKAGE NAME</td>
<td> </td>
<td><span>LAKSHADWEEP SUMMER PACKAGE</span></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>DATE OF BOOKING</td>
<td> </td>
<td><span>28 May 2016</span></td>
<td>DATE OF JOURNEY</td>
<td> </td>
<td><span>31 May 2016</span></td>
</tr>
</table>
<style>
.grey-color{
color:#666;
}
.total-cost{font-size:18px}
.address{
font-size:11px;
}
.heading{
border-bottom:1px #CCCCCC solid;
}
.package-name{
font-size:15px;
margin:15px 0px;
}
.package-name span{
padding:10px !important;background:#EAEAEA;
}
.table{font-size:14px}
.other-table td{padding: 12px 0px !important;font-size:12px}
.other-table span{background:#EAEAEA;padding:16px !important;}
.uppercase{text-transform:uppercase !important;}
</style>
用于生成PDF的PHP代码
<?php
require_once 'dompdf/autoload.inc.php';
// reference the Dompdf namespace
use Dompdf\Dompdf;
// instantiate and use the dompdf class
$dompdf = new Dompdf();
$html = file_get_contents('holiday.html');
$dompdf->loadHtml($html);
// (Optional) Setup the paper size and orientation
$dompdf->setPaper('A4', 'portrait');
// Render the HTML as PDF
$dompdf->render();
// Output the generated PDF to Browser
$dompdf->stream();
?>
如何获得正确的pdf设计? 我不想要任何付费图书馆。有没有其他PHP PDF库可以做到这一点?
答案 0 :(得分:1)
dompdf当前没有(直到并且包含0.7.0)对内联元素的填充有很好的支持。你可以切换到块元素(P或DIV)并看到更好的结果。
使用0.7.0,您还可以通过将跨度显示样式设置为内联块来修复样式。