【发布时间】:2019-03-17 15:23:56
【问题描述】:
从某些 PDF 中提取文本时,PDFBox 返回乱码。 这是因为 Unicode 映射丢失或损坏。 我可以在控制台上看到以下警告。 我希望能够检测到这一点,以便能够将这些 PDF 标记为已损坏。
我正在寻找比解析日志更好的解决方案。
感谢您的帮助!
示例控制台日志:
WARNING: No Unicode mapping for CID+32 (32) in font F6
WARNING: Failed to find a character mapping for 32 in TimesNewRoman,Bold
下面提到的帖子也谈到了同样的问题,但没有谈到能够在代码端检测到这个问题并进行处理的方法:Issue with reading some unicode characters out of a PDF using PDFBox
【问题讨论】:
-
有几种不同的方式来使用 PDFBox,你能分享一下你是如何运行它的吗?请参阅minimal reproducible example 获取帮助,包括大量代码,以便想要回答您问题的人可以重现您的问题并更好地帮助您。
-
正如@DavyM 提到的,请提供一些代码来展示您如何使用 PDFBox,并尽可能地说明哪部分代码失败
-
@Magpies3 改善您的问题的信息,例如该代码,以及应将其他研究编辑到您的问题中,而不是作为 cmets 放置。这样,回答您问题的所有信息都位于问题本身中。
-
对不起。尝试覆盖
showGlyph()。 -
感谢 Tilman 成功了,我能够覆盖此方法并获取缺少 unicode 的字体和代码信息。
标签: java pdf unicode fonts pdfbox