【发布时间】:2013-02-23 05:01:48
【问题描述】:
我创建了一个使用 tcpdf 动态创建 PDF 并将字体嵌入 PDF 的网站。用户可以从一系列标准字体中进行选择,如 Arial、Verdana 等。然后系统直接从我的服务器中选择一个 ttf 字体并使用下面的代码嵌入。在大多数 pdf 查看器上可以很好地看到带有该字体的文本,但 iPad/iPhone's 查看器没有显示它。我下载了一个新的(随机)版本的 Arial.ttf 作为测试(不确定文件中的差异,但现在似乎显示正常。
我需要为多种字体执行此操作,但我有点在黑暗中拍摄,因为我不知道字体中的什么可能导致它不被嵌入。有谁知道 ttf 字体中的什么会导致它不显示?在其他查看器上显示正常,并显示嵌入到 Acrobat 文档属性中?
谢谢
$fontname = $pdf->addTTFfont('/tcpdf/fonts/custom/'.$ttfFile.'.ttf', 'TrueTypeUnicode', '', 32);
// 使用字体
$pdf->SetFont($fontname, '', $fontPoints, '', 'false');
【问题讨论】:
-
“不显示”是什么意思 - 文本实际上完全不存在?您能否分享其中一个 PDF 以便查看?
-
您好,感谢您的回复,字体可以在 chrome pdf 阅读器和 safari 上看到,但不能通过 iPhone / iPad 上的标准查看器看到。这是一个选择字体的示例,所有字体都通过大多数查看器显示,iPhone 上缺少一些。根据 Acrobat 的说法,它们显然是“嵌入式子集”,任何想法都会非常有帮助。 s316279697.websitehome.co.uk/joe/banner790.pdf
-
我通过 callas pdfToolbox preflight 运行了您的文件(警告,我隶属于这家公司),我看到了两件可能很奇怪的事情。首先,您的文件还包含两种 Helvetica 字体,它们显然没有在页面上使用(并且没有嵌入)。您的文件还带有许多所使用的 Palatino 字体的错误。这是不显示的字体吗?