2

我正在使用 TCPDF 从 HTML 代码生成 PDF,但无法正确呈现某些 HTML 特殊字符。这是我的准系统代码:

require_once('../libraries/tcpdf_6_0_020/tcpdf/tcpdf.php');

// create new PDF document
$pdf = new TCPDF('P', PDF_UNIT, 'LETTER', true, 'UTF-8', false);

// add a page
$pdf->AddPage();

$output = 'this is a special character: Ω';

//echo $output;die();

$pdf->writeHTML($output, true, false, false, false, '');

//Close and output PDF document
$pdf->Output('generated pdf.pdf', 'I');

上面的输出是:

this is a special character: ?

这里有很多关于同一主题的问题,其中大多数说要将构造函数更改为以下内容:

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, false, 'ISO-8859-1', false);

我试过了,但是输出变成了:

this is a special character: Ω

我应该怎么做才能使 HTML 特殊字符正确呈现?

4

2 回答 2

7

尝试这个

require_once('tcpdf/tcpdf.php');

$pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

$pdf->SetFont('dejavusans', '', 10);

$pdf->AddPage();

$html = "this is a special character: Ω";

$pdf->writeHTML($html, true, false, true, false, '');

$pdf->lastPage();

$pdf->Output('test.pdf', 'I');
于 2013-07-16T15:30:47.297 回答
0

对我来说,解决方案是

html_entity_decode(utf8_encode('my string'));
于 2020-07-27T14:36:08.283 回答