我正在使用 iText 将 HTML 转换为符合_1 的 PDF 文件。 PDF/A 要求嵌入字体。
当 iText 解析 HTML 时,它通过在每个列表项之前添加列表符号来处理HTML 列表。符号块没有定义其字体,因此默认情况下会给出 Helvetica(在Font::getCalculatedBaseFont
中)。
这是一个很大的问题,因为字体Helvetica 必须嵌入。在这种情况下,PdfDocument 似乎强制使用 Helvetica。
有没有办法解决这个问题?
我找到这个,但它需要修改源代码。
1 回答
经过一些研究,似乎有可能解决这个限制,至少对于列表。
应该扩展 ListStyleTypeCssApplier 类,这是一种可能的方法:
修改后,此 CssApplier 将另一种字体应用于列表符号。虽然我没有看到如何取回列表项的字体...
然后,人们可以轻松地集成它。
只要我们不关心符号的字体,我们就可以忍受这种解决方法......