我只是尝试使用 TCPDF 将 HTML 转换为 PDF
但是有一点不对
CSS 可见性属性对我不起作用
这是我的 PHP 代码:
<?php
包括主 TCPDF 库(搜索安装路径)。
require_once('tcpdf_include.php');
创建新的 PDF 文档
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);
设置文档信息
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 061');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');
设置默认标题数据
$pdf->SetHeaderData(PDF_HEADER_LOGO, PDF_HEADER_LOGO_WIDTH, PDF_HEADER_TITLE.' 061', PDF_HEADER_STRING);
// set header and footer fonts
$pdf->setHeaderFont(Array(PDF_FONT_NAME_MAIN, '', PDF_FONT_SIZE_MAIN));
$pdf->setFooterFont(Array(PDF_FONT_NAME_DATA, '', PDF_FONT_SIZE_DATA));
// set default monospaced font
$pdf->SetDefaultMonospacedFont(PDF_FONT_MONOSPACED);
// set margins
$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);
$pdf->SetHeaderMargin(PDF_MARGIN_HEADER);
$pdf->SetFooterMargin(PDF_MARGIN_FOOTER);
// set auto page breaks
$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);
// set image scale factor
$pdf->setImageScale(PDF_IMAGE_SCALE_RATIO);
// set some language-dependent strings (optional)
if (@file_exists(dirname(__FILE__).'/lang/eng.php')) {
require_once(dirname(__FILE__).'/lang/eng.php');
$pdf->setLanguageArray($l);
}
// set font
$pdf->SetFont('helvetica', '', 10);
// add a page
$pdf->AddPage();
$html = <<<EOF
//HTML code
EOF;
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
// reset pointer to the last page
$pdf->lastPage();
// ---------------------------------------------------------
//Close and output PDF document
$pdf->Output('example_061.pdf', 'I');
这是我的html代码
<!-- EXAMPLE OF CSS STYLE -->
<!DOCTYPE HTML>
<style>
table{
border:1px solid #C0C0C0;
border-collapse:collapse;
}
tr{
}
td {
border:1px solid #C0C0C0;
}
</style>
<table id="BA1">
<tr style=" visibility:hidden;" >
<td height= "1" ></td>
<td height= "1" class="ui-resizable" style="width: 39px;"></td>
<td height= "1" class="ui-resizable" style="width: 76px;"></td>
<td height= "1" class="ui-resizable" style="width: 33px;"></td>
<td height= "1" class="ui-resizable" style="width: 132px;"></td>
<td height= "1" class="ui-resizable" style="width: 345px;"></td>
</tr>
<tr><td class="ui-resizable" style="height: 10px; visibility: hidden;"> </td>
<td class="" style=" font-size: 10px;">編號</td>
<td></td>
<td class="" style="font-size: 10px;">姓名</td>
<td></td><td class="" style=" font-size: 10px;">公布欄</td></tr>
<tr><td class="ui-resizable" style="height: 10px; visibility: hidden;"></td>
<td colspan="3" rowspan="1" class="" style=" font-size: 10px;">繳費項目</td> <td class="" style="font-size: 10px;">金額</td><td colspan="1" rowspan="2"></td></tr>
<tr><td class="ui-resizable" style="height: 134px; visibility: hidden;"></td>
<td colspan="4" rowspan="2"></td></tr>
<tr><td class="ui-resizable" style="height: 92px; visibility: hidden;"></td>
<td colspan="1" rowspan="2"></td></tr>
<tr><td class="ui-resizable" style="height: 17px; visibility: hidden;"></td>
<td colspan="4" rowspan="1" class="" style=" font-size: 10px;">合計:</td></tr></table>
如果不支持这个属性
没有其他方法推荐吗?
最佳答案
TCPDF 扩展对 css 的支持非常少。
目前只支持以下CSS属性:
- 字体系列
- 字体大小
- 字体粗细
- 字体样式
- 颜色
- 背景颜色
- 文字装饰
- 宽度
- 高度
- 文本对齐
其他标签将不起作用。
关于php - "visibility:hidden;"不适用于 TCPDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36836906/