Asi*_*lla 13 php tcpdf kohana-3
我正在使用TCPDF库版本:5.9.011.我正在尝试以PDF格式执行HTML布局.我试过的例子提供了网站
$html = '<h1>HTML Example</h1>
<h2>List</h2>
Some special characters: < € € € & è è © > \\slash \\\\double-slash \\\\\\triple-slash
';
// output the HTML content
$pdf->writeHTML($html, true, false, true, false, '');
//Close and output PDF document
$pdf->Output('example_006.pdf', 'I');
Run Code Online (Sandbox Code Playgroud)
显然发现生成的PDF只有默认页眉和页脚,中间内容为空.
但是,如果我删除特殊字符,如:
$html = '<h1>HTML Example</h1>
<h2>List</h2>
Some special characters:
';
Run Code Online (Sandbox Code Playgroud)
PDF获取其中指定的中间内容 $html
小智 13
在行$ pdf-> writeHTML之前
$html = utf8_decode($html);
Run Code Online (Sandbox Code Playgroud)
也许
$html = utf8_encode($html);
Run Code Online (Sandbox Code Playgroud)
小智 9
正如其他人已经提到的,你需要更改构造函数,设置UTF-8 flase并更改新的charshet,如下所示:
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false);
Run Code Online (Sandbox Code Playgroud)
只有更改此内容并不总能阻止获取空白页面.要防止获取空白页:将字体类型更改为"helvetica"或其他.
$pdf->SetFont('helvetica', '', 11, '', true);
Run Code Online (Sandbox Code Playgroud)
有用!
你需要更改构造函数,设置UTF-8 flase并更改新的charshet,如下所示:
$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false);
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我设置编码ISO-8859-1而不是UTF-8,我将true更改为false.
Krish