mPDF:如何创建不使用嵌入字体的PDF?

发布于 2024-12-29 12:43:33 字数 553 浏览 0 评论 0原文

我们有一个按以下方式工作的系统:

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

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

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

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

我的问题是是否可以将 mPDF 配置为不使用嵌入的 OpenType 字体?

We have a system working following way:

  1. PDF file is generated on server using mPDF library.
  2. User looks at generated PDF file in browser and sometimes prints it to virtual printer which creates EMF file.
  3. EMF file analyzed to extract text information.
  4. Extracted text information is further processed.

My part of this process is to extract text information from EMF file. And my algorithms work fine when EMF file does contain text information. But when PDF file is printed to virtual printer printing software replaces some parts of text information with lines and curves thus making impossible to extract text information from EMF.

I investigated this problem a lot of time and concluded there are no common soulution for every printed PDF. But at the same time i discovered that printing software replaces only those parts of text which use embedded OpenType fonts.

So in this particular case if i could configure mPDF to not use embedded OpenType fonts then problem will be solved.

My question is if it is possible to configure mPDF in a way to not use embedded OpenType fonts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

软的没边 2025-01-05 12:43:33

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

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

I received an answer from Ian Back, author of mPDF, stating that current version (5.3) is not able to create document without embedded fonts:

mPDF does not have an option to do this. I did try at one stage, but
found great problems in getting it to work, and then decided it wasn't
worth it, because it relies on the user having the correct file (and
file version) installed on their computer.

黎夕旧梦 2025-01-05 12:43:33

由于 mPDF 是建立在 FPDF 之上的,所以我认为这是可能的。 FPDF 字体必须准备为 .php 文件,因此删除这些字体将使 mPDF 渲染没有它们的文档。

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

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

Since mPDF is built on top of FPDF, I would imagine it is possible to do so. Fonts for FPDF must be prepared as .php files, so removing those should make mPDF render documents without them.

Try renaming TTF folder: /ttfontdata/.

This is a hack, but it should work. (Note: I haven't tried it)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文