mPDF:如何创建不使用嵌入字体的PDF?
我们有一个按以下方式工作的系统:
- 使用 mPDF 库 在服务器上生成 PDF 文件。
- 用户在浏览器中查看生成的 PDF 文件,有时将其打印到创建 EMF 文件的虚拟打印机。
- 分析 EMF 文件以提取文本信息。
- 提取的文本信息被进一步处理。
我在此过程中的部分是从 EMF 文件中提取文本信息。当 EMF 文件确实包含文本信息时,我的算法工作正常。但是,当 PDF 文件打印到虚拟打印机时,打印软件会将部分文本信息替换为直线和曲线,从而无法从 EMF 中提取文本信息。
我对这个问题进行了大量研究,得出的结论是,每个打印的 PDF 都没有通用的解决方案。但同时我发现打印软件仅替换那些使用嵌入 OpenType 字体的文本部分。
因此,在这种特殊情况下,如果我可以将 mPDF 配置为不使用嵌入的 OpenType 字体,那么问题就会得到解决。
我的问题是是否可以将 mPDF 配置为不使用嵌入的 OpenType 字体?
We have a system working following way:
- PDF file is generated on server using mPDF library.
- User looks at generated PDF file in browser and sometimes prints it to virtual printer which creates EMF file.
- EMF file analyzed to extract text information.
- 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我收到 mPDF 作者 Ian Back 的答复,指出当前版本(5.3)无法创建没有嵌入字体的文档:
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 是建立在 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)