当前位置: 首页 > 知识库问答 >
问题:

TCPDF-在iPad上查看PDF时不显示嵌入的ttf字体

易修洁
2023-03-14

我创建了一个网站,使用tcpdf动态创建PDF,并将字体嵌入到PDF中。用户可以选择一系列标准字体,如Arial、Verdana等。然后系统直接从我的服务器选择ttf字体,并使用下面的代码嵌入。这种字体的文本在大多数pdf浏览器上都可以看到,但iPad/iPhone的viewer没有显示出来。我下载了新(随机)版本的Arial。ttf作为测试(不确定文件中的差异,但现在似乎显示良好)。

我需要为许多字体做这个,但我在黑暗中拍摄了一些,因为我不知道字体中的什么可能会导致它无法嵌入。有人知道ttf字体中的什么会导致它无法显示吗?在其他查看器上显示良好,并在Acrobat文档属性中嵌入显示?

谢谢

$fontname = $pdf->addTTFfont('/tcpdf/fonts/custom/'.$ttfFile.'.ttf', 'TrueTypeUnicode', '', 32);

//使用字体

$pdf->SetFont($fontname, '', $fontPoints, '', 'false');

共有1个答案

班承德
2023-03-14

$subset的参数是错误的。您将其设置为false(带有引号)。它应该是布尔true。

    <?php
          ...
          // Wrong
          $pdf->SetFont($fontname, '', $fontPoints, '', 'false');

          // Right
          $pdf->SetFont($fontname, '', $fontPoints, '', true); 
          ...
    ?>

为什么有效?

因为它嵌入了整个字体,而不仅仅是一个子集。诀窍是在方法$pdf中设置参数$subset-

http://www.tcpdf.org/doc/code/classTCPDF.html#a471562985997be1573d387f0aeae6964

PDF正在与

iPad(IOS 7)、iPhone(IOS 7)、Windows 7、MACOSX 10.9。

我的PDF创建环境

Apache 2 on MAC 10.9, PHP 5.3. x, TCPDF v6.0.078

档案

示例PDF和创建它的PHP脚本

 类似资料:
  • 我正在使用PDFBox从现有的PDF模板构建文档,因此它会打开文件,向其中添加文本,然后保存。除了尝试使用外部TTF字体外,它工作得很好。我尝试了不同的方法,花了两天时间寻找解决方案,但PDFBox上没有太多。 这里有一些代码,使用字体“Tardy Kid”,因为它不能被误认为其他任何东西,也不太可能是任何标准库的一部分。 代码执行良好,显示println中的“TardyKid”(显示字体已加载且

  • 虽然它按预期工作,并嵌入了使用的字体子集,但我想知道是否有一种方法可以使生成的PDF文档完全不嵌入字体。当创建实例并将属性设置为并使用它们来生成各种PDF构建块时,就可以使用这种方法。在使用时,我正在寻找同样的行为。

  • 所以我有下面的问题。我收到一个文件,其中包含一组字体。这些字体没有嵌入到文件中。下面是一个简单的例子: 我希望将这些字体嵌入到中,这样它们就可以自包含并且始终可用。但事情似乎没那么简单。我正在使用进行处理。 我已经阅读并尝试了以下问题/答案: null

  • 问题内容: 我有一个使用Foxit表单设计器创建的pdf文件。在我的设计系统上,我安装了条形码字体。条形码字体在AcroField之一中使用。foxit似乎没有在文档中嵌入字体。 我也有一些客户的计算机上未安装条形码字体,因此我想将该字体嵌入到PDF中。我是否可以使用iText将AcroFields中使用的字体嵌入到PDF中? 编辑: 字体似乎包含在文本中,但没有包含在字段中,因此字体(条形码)将

  • 请,我想知道从pdf中提取的字体是否嵌入,如何使用PDFBox实现这一点?

  • 所以我做了一个机器人,它会在一个频道里向新成员发送欢迎信息。我的代码应该工作,因为它没有在我的控制台上发送任何错误,但是我的机器人没有发送欢迎消息。 我尝试了很多东西: > 使嵌入对象成为对象(nope) 做了4个长的不同代码(都不工作) 我在用discord.js@v12 代码: