PDFBox读取阿拉伯语PDF:列表单行显示乱序及冗余字符异常
阿拉伯语PDF读取时的文本乱序与冗余字符问题
使用PDFBox库逐行读取阿拉伯语PDF文件时遇到两个问题:
- 调试控制台中按索引查看列表各行时文本顺序正常,但将列表内容以单行形式查看时,文本出现乱序;
- 库会读取到PDF中不可见的额外字符,导致读取精度下降。
尝试过去除冗余字符、反转行序等方法,均未解决问题。相关代码如下:
public List<String> extractPageText(int pageNumber, PDDocument document) { List<String> currentPageLines = new ArrayList<>(); PDFTextStripper stripper1 = null; String[] pageLines = null; try { PDFTextStripperByArea stripper2 = new PDFTextStripperByArea(); Rectangle2D rect = new java.awt.geom.Rectangle2D.Float(10, 10, 580, 690); stripper2.addRegion("region", rect); stripper2.extractRegions(document.getPage(pageNumber)); String textForRegion = stripper2.getTextForRegion("region"); pageLines = textForRegion.split("\n"); } catch (IOException e) { e.printStackTrace(); } for (String currentPageline : pageLines) { currentPageLines.add(currentPageline.trim()); } return currentPageLines; }
相关截图
- PDF原文截图:

- 调试控制台截图:

内容的提问来源于stack exchange,提问作者Ravindar Sharma
相关产品推荐
相关产品推荐

