我一直在尝试将所有丢失的字体嵌入到 pdf 中,以避免在打印或渲染它们时因为字体替换而出现“意外”。
因此,我使用BergamoStd字体创建了一个仅包含“Bergamo Std”文本的文档。之后使用 Pdf Creator 生成没有字体嵌入的 pdf:BergamoStd.pdf
使用 C#/iText 我将字体嵌入到 pdf 中。(BergamoStd-embedded.pdf) 无论系统中是否存在字体,我都可以正确渲染嵌入的 pdf。Adobe reader、qpdfview、evince 可以毫无问题地渲染 pdf,acrobat reader 告诉字体是嵌入的以及 pdffonts。
qpdf没有报告此 pdf 的任何问题。
如果我使用ghostscript(9.07)从嵌入的pdf生成一个ps文件,我会得到一个可以渲染和打印的ps,并且字体也嵌入到该ps文件中。pdf2ps 当然会得到与 ghostscript 相同的结果。甚至Windows 中的xpdf也会生成一个有效的 ps 文件,其中嵌入了字体。
但是如果我使用 poppler-utils (v0.24) 的 pdftops 生成 ps 文件,我会得到一个没有嵌入字体的小 ps 文件。
更深入; 即使系统中存在 bergamoStd.ttf 文件,pdftops 也无法在 .ps 中嵌入字体,无论输入的 pdf 是嵌入字体还是未嵌入字体。
谁能解释为什么 pdftops 不能嵌入这种字体?我错过了什么吗?
如果您不想按照我之前描述的步骤生成自己的文件,我的测试文件可以在这里找到。
TIA。