TCPDF - 不显示UTF-8,拉丁字符

时间:2013-04-27 14:31:41

标签: php pdf pdf-generation tcpdf

我使用TCPDF生成带拉丁字符的pdf文档:

//TCPDF
require_once('class/tcpdf.php');
require_once('class/fpdi.php');

$pdf = new FPDI();
$template = "template.pdf";
$pagecount = $pdf->setSourceFile($template);
$tplidx = $pdf->importPage(1);

$pdf->addPage();
$pdf->useTemplate($tplidx, 0, 0);
$pdf->SetFont('freeserif', '', 14, '', false);
$pdf->setFontSubsetting(false);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY(10,18);
$pdf->Cell(0,10,"šđžč",0,1, 'C');

$file_name = str_replace('.','_'.date('Y-m-d').'.',$template);
$pdf->Output($file_name, 'D');

问题是所有非标准字符都转换为符号“?”

3 个答案:

答案 0 :(得分:2)

只需在$pdf->AddPage()

之前添加此行
$pdf->setFont('freeserif');

答案 1 :(得分:0)

这是使用TCPDF php脚本编写特殊字符的所有问题的解决方案

按照以下步骤操作即可解决问题:

  1. 使用ANSI编码编辑您的PHP。您可以使用Notepad ++编辑器轻松设置它。

  2. 当您需要使用TCPDF方法编写内容时,请不要忘记在utf8_encode() php函数中包含文本。

  3. 这样:

    $pdf->Cell(210, 18, utf8_encode('Camión/pícaro/rúbrica/áéíóú...  Hello world, this is Aberasturi from the Moon'),0, $ln=0, 'C', 0, '', false, false, 'T', 'C');
    

    Ondo ibili !!!!

    X.Aberasturi

答案 2 :(得分:0)

来自 tcpdf 源代码:

  • 重要提示:请注意,此方法将 mb_internal_encoding 设置为 ASCII,因此如果您将 mbstring 模块函数与 TCPDF 一起使用,您需要在需要时正确设置/取消设置 mb_internal_encoding。

这只花了我一个小时,也许它可以帮助其他人。