2

我使用 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');

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

4

3 回答 3

4

只需在之前添加此行$pdf->AddPage()

$pdf->setFont('freeserif');
于 2015-12-13T13:47:59.753 回答
1

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

请按照以下步骤操作,您将得到解决:

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

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

这边走:

$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');

翁多伊比利!!!!

X.Aberasturi

于 2017-11-08T11:28:03.517 回答
0

从 tcpdf 源代码:

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

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

于 2021-06-19T12:43:16.063 回答