【问题标题】:mPDF: how to create PDF not using embedded fonts?mPDF:如何创建不使用嵌入字体的 PDF?
【发布时间】:2012-01-30 13:26:49
【问题描述】:

我们的系统工作方式如下:

  1. PDF 文件使用mPDF library 在服务器上生成。
  2. 用户在浏览器中查看生成的 PDF 文件,有时将其打印到创建 EMF 文件的虚拟打印机。
  3. 分析 EMF 文件以提取文本信息。
  4. 进一步处理提取的文本信息。

我在这个过程中的一部分是从 EMF 文件中提取文本信息。当 EMF 文件确实包含文本信息时,我的算法工作正常。但是当 PDF 文件打印到虚拟打印机时,打印软件会将部分文本信息替换为线条和曲线,从而无法从 EMF 中提取文本信息。

我对这个问题进行了大量研究,并得出结论,对于每个打印的 PDF 都没有共同的解决方案。但同时我发现打印软件只替换那些使用嵌入式 OpenType 字体的文本部分。

所以在这种特殊情况下,如果我可以将 mPDF 配置为不使用嵌入式 OpenType 字体,那么问题将得到解决。

我的问题是,是否可以通过不使用嵌入式 OpenType 字体的方式配置 mPDF?

【问题讨论】:

  • 您能具体说明您指的是哪种EMF文件吗?
  • @hakre 我们使用标准 EMF 文件。它们不是后台处理程序文件。只是由我们的虚拟打印机创建的标准 EMF。 Enhanced Metafile

标签: php pdf mpdf


【解决方案1】:

我收到了 mPDF 的作者 Ian Back 的答复,指出当前版本 (5.3) 无法创建没有嵌入字体的文档:

mPDF 没有执行此操作的选项。我确实在一个阶段尝试过,但是 在让它工作时发现了很大的问题,然后决定它不是 值得,因为它依赖于拥有正确文件的用户(并且 文件版本)安装在他们的计算机上。

【讨论】:

    【解决方案2】:

    由于 mPDF 是建立在 FPDF 之上的,我想这样做是可能的。 FPDF 的字体必须准备为 .php 文件,因此删除这些应该会使 mPDF 呈现没有它们的文档。

    尝试重命名 TTF 文件夹:/ttfontdata/

    这是一个 hack,但它应该可以工作。 (注:我没试过)

    【讨论】:

    • 我试图在我的网络服务器的根目录中重命名 /mpdf/ttfontdata。但什么都没有改变。实际上,该目录除了 dummy.txt 占位符之外不包含任何文件。
    猜你喜欢
    • 2011-04-01
    • 1970-01-01
    • 2016-11-18
    • 2011-11-23
    • 1970-01-01
    • 1970-01-01
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多