Mag*_*es3 4 java pdf unicode fonts pdfbox
从某些 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
Run Code Online (Sandbox Code Playgroud)
下面提到的帖子也讨论了同样的问题,但没有讨论能够在代码端检测到这一点并处理相同问题的方法:使用 PDFBox 从 PDF 中读取一些 unicode 字符的问题
第四种可能性(在 Aaron Digulla 答案中给出的三种可能性旁边)是showGlyph()在扩展PDFTextStripper类时覆盖:
protected void showGlyph(Matrix textRenderingMatrix, PDFont font, int code, String unicode, Vector displacement) throws IOException
{
super.showGlyph(textRenderingMatrix, font, code, unicode, displacement);
if (unicode == null || unicode.isEmpty())
{
// do stuff
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1264 次 |
| 最近记录: |