在 iText 中保留嵌入字体

发布于 2024-10-19 09:58:54 字数 358 浏览 1 评论 0原文

我有一个java应用程序,它使用itext将pdf分成几个部分,然后将这些部分再次拼接在一起。原始 pdf 有许多不同类型的嵌入字体(所有非系统字体)。当我再次缝合 pdf 时,一些嵌入的字体丢失了。

例如,这是原始字体列表的剪辑: 在此处输入图像描述

这是生成的 pdf 字体列表中的剪辑: 在此处输入图像描述

我正在使用 PdfWriter 和 PdfReader 将页面复制到新文档中,并使用 PdfContent 和 addTemplate()。

I have a java application which splits a pdf into sections using itext, then stitches a selection of these up together again. The original pdf has many embedded fonts varying in type (all non-system fonts). When I stitch the pdf's up again, some of the embedded fonts are missing.

For example, this is a clipping from the original fonts list:
enter image description here

This is a clipping from the generated pdf font list:
enter image description here

I am using PdfWriter and PdfReader to copy the pages into the new document, with PdfContent and addTemplate().

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

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

发布评论

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

评论(1

影子是时光的心 2024-10-26 09:58:54

终于找到答案了!问题是 Pdf 的级别设置得太低:

writer.setPdfVersion(PdfWriter.VERSION_1_2);

我将其更改为:

writer.setPdfVersion(PdfWriter.VERSION_1_7);

现在所有字体都已正确嵌入。

我实际上忘记了那段代码在那里——我从我过去做过的一个项目中借用了它。

吸取的教训;)

我很想知道为什么会出现这种情况。

Finally found the answer! The problem was the level of Pdf was set too low:

writer.setPdfVersion(PdfWriter.VERSION_1_2);

I changed this to:

writer.setPdfVersion(PdfWriter.VERSION_1_7);

and now all fonts are embedded correctly.

I actually forgot that piece of code was in there - I had borrowed it from a project I had done in the past.

Lesson learned ;)

I would love to know why this is the case though.

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