带特殊字符的TCPDF HTML显示空PDF文件

Asi*_*lla 13 php tcpdf kohana-3

我正在使用TCPDF库版本:5.9.011.我正在尝试以PDF格式执行HTML布局.我试过的例子提供了网站

$html = '<h1>HTML Example</h1>
<h2>List</h2>
Some special characters: &lt; € &euro; &#8364; &amp; è &egrave; &copy; &gt; \\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)

有用!


Eli*_*isa 5

你需要更改构造函数,设置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