pdf 导出中的设计错误 - Dompdf/tcpdf
Design error in pdf export - Dompdf/tcpdf
我正在开发一个旅游门户网站,这对于制作 pdf 票进行预订至关重要。我使用了 Dompdf 和 tcPdf。但是从两个库导出的pdf都存在设计错误。
这是我的实际HTML设计
这是生成的PDF
My HTML Design Code
<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>
PHP Code for generating PDF
<?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 库可以执行此操作?
dompdf 目前(包括 0.7.0)对内联元素的填充没有很好的支持。您可以切换到块元素(P 或 DIV)并查看更好的结果。
在 0.7.0 中,您还可以通过将跨度显示样式设置为内联块来修复样式。
我正在开发一个旅游门户网站,这对于制作 pdf 票进行预订至关重要。我使用了 Dompdf 和 tcPdf。但是从两个库导出的pdf都存在设计错误。
这是我的实际HTML设计
这是生成的PDF
My HTML Design Code
<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>
PHP Code for generating PDF
<?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 库可以执行此操作?
dompdf 目前(包括 0.7.0)对内联元素的填充没有很好的支持。您可以切换到块元素(P 或 DIV)并查看更好的结果。
在 0.7.0 中,您还可以通过将跨度显示样式设置为内联块来修复样式。