我有一个java应用程序,它使用itext将pdf分成几个部分,然后将这些部分再次拼接在一起。原始 pdf 有许多不同类型的嵌入字体(所有非系统字体)。当我再次缝合 pdf 时,一些嵌入的字体丢失了。
例如,这是原始字体列表的剪辑:
这是生成的 pdf 字体列表的剪辑:
我正在使用 PdfWriter 和 PdfReader 将页面复制到新文档中,并使用 PdfContent 和 addTemplate()。
最佳答案
终于找到答案了!问题是 Pdf 的级别设置得太低:
writer.setPdfVersion(PdfWriter.VERSION_1_2);
我将其更改为:
writer.setPdfVersion(PdfWriter.VERSION_1_7);
现在所有字体都已正确嵌入。
我实际上忘记了那段代码在那里 - 我从我过去完成的一个项目中借用了它。
经验教训;)
我很想知道为什么会出现这种情况。
关于java - 在 iText 中保留嵌入字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5094217/