Fpdf 汉字显示随机字符输出

问题描述 投票:0回答:2

我刚刚通过 fpdf makefont 将我的中文字体(simhei)转换为 postscript,这样我就可以 在我的 fpdf 输出中使用它们。因此,一旦我将中文文本实现到我的文件中,字符 显示的是除我输入的字符之外的随机字符。

这是代码:

$pdf2 = new PDF_Chinese('P', 'cm', 'Letter');
$pdf2->AliasNbPages();
$pdf2->AddGBFont('simhei','黑体');
$pdf2->AddGBFont('simkai','楷体_GB2312');

$pdf2->AddPage();

$pdf2->SetCompression(false);

$pdf2->SetAutoPageBreak(1,3);

$pdf2->SetDrawColor(200,200,200);

$pdf2->SetFont('simhei','',20.5);

$pdf2->Cell(0,1,'Black Bomb 目录批发价格 (批发)',0,0,'C');
$pdf2->SetFont('Arial','',7);`

这些字符与我代码中的字符不一样。 难道是我转换字体的时候出了问题?使用 fpdf makefont?

我尝试使用不同的文本来检查是否有任何字符位于正确的位置。 当我输入它们时,似乎没有字符会显示。还有 Unicode 字符, 没有解决问题

pdf fonts character fpdf cjk
2个回答
0
投票

谢谢@Olivier 这完成了工作。使用 tFPDF 后我的问题解决了。 在此我关闭此线程。所有在添加汉字时遇到问题的人 对于 FPDF,请改用 tFPDF。 http://www.fpdf.org/en/script/script92.php

针对简体中文用户。请忽略网上所有解释如何使用 TTFPT1.exe 转换中文字体的资源。

感谢@Olivier。换成tFPDF解决了我的问题。我现在关闭这个讨论区。大家如果有问题加简体中文字使用FPDF请换成用tFPDF。所有晚上的说明兄弟们怎么换字母用TTFPT1.exe.可以忽略。


0
投票

原来的中文是“UTF-8”。需要转换为“GB”格式。

$in_str = 'Black Bomb 目录批发价格 (批发)';
$out_str = mb_convert_encoding($in_str, "gbk", "utf-8");
$pdf2->SetFont("simhei","", 20);
$pdf2->Cell(0,1,$out_str,0,0,'C');
© www.soinside.com 2019 - 2024. All rights reserved.