pdf导出中的设计错误 - Dompdf / tcpdf

时间:2016-04-11 14:52:20

标签: php pdf tcpdf dompdf

我正在开发一个旅游门户网站,这对于为预订制作pdf门票至关重要。我用了Dompdf和tcPdf。但是从两个库中导出的pdf都存在设计错误。

这是我的实际HTML设计
enter image description here

这是生成的PDF

enter image description here

  

我的HTML设计代码

<table class="col-xs-12 other-table" style="text-align:left">
  <tr>
    <td>TICKET ID</td>
    <td>&nbsp;</td>
    <td><span>LD324865</span></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td>PACKAGE NAME</td>
    <td>&nbsp;</td>
    <td><span>LAKSHADWEEP SUMMER PACKAGE</span></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td>DATE OF BOOKING</td>
    <td>&nbsp;</td>
    <td><span>28 May 2016</span></td>
    <td>DATE OF JOURNEY</td>
    <td>&nbsp;</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库可以做到这一点?

1 个答案:

答案 0 :(得分:1)

dompdf当前没有(直到并且包含0.7.0)对内联元素的填充有很好的支持。你可以切换到块元素(P或DIV)并看到更好的结果。

使用0.7.0,您还可以通过将跨度显示样式设置为内联块来修复样式。