如何在TCPDF中支持UTF-8?

时间:2016-06-21 14:37:52

标签: php tcpdf

我使用UTF-8字符制作了一个pdf。但是,没有在tcpdf中使用utf-8。

CODE:

<?php
require_once('tcpdf/tcpdf_import.php');

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

// set document information
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Nicola Asuni');
$pdf->SetTitle('TCPDF Example 008');
$pdf->SetSubject('TCPDF Tutorial');
$pdf->SetKeywords('TCPDF, PDF, example, test, guide');

// set default header data

// 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);

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

// get esternal file content
$utf8text = "私、本書に署名する目的は、法律で認められている最大範囲において、SNUBA ガイド、";

// set color for text
$pdf->SetTextColor(0, 63, 127);

//Write($h, $txt, $link='', $fill=0, $align='', $ln=false, $stretch=0, $firstline=false, $firstblock=false, $maxh=0)

// write the text
$pdf->Write(5, $utf8text, '', 0, '', false, 0, false, false, 0);


// ---------------------------------------------------------

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

输出:

????????????????????????????????SNUBA ????

我必须创建一个pdf。 Pdf正在工作,但不支持其他utf-8字符。如何使用tcpdf支持utf-8支持pdf?

2 个答案:

答案 0 :(得分:0)

我认为您使用的字体错误。 我遇到了同样的问题,然后将字体从“ helvetica”更改为“ dejavusans”,然后开始工作。

答案 1 :(得分:0)

我测试了你的代码,因为我在打印日文字符时遇到了问题,结果在我的网站上也是一样的。

问题在于字体。

我已经在使用 dejavu 字体,它非常适合拉丁字符和其他字符,但它不包含 CJK 字符。要打印此类字符,您需要特定的 CJK 字体,或少数可用的泛 Unicode 字体之一。

一些示例是:Arial Unicode MSCyberbit

不幸的是,它们不是免费的,需要许可证。