如果要根据文本在页面上的位置对文本进行排序,则需要引入一种特定的策略,例如LocationTextExtractionStrategy
:
for (int i = 1; i <= reader.getNumberOfPages(); i++) {
String str=PdfTextExtractor.getTextFromPage(reader, i, new LocationTextExtractionStrategy());
}
该LocationTextExtractionStrategy
有时会导致奇怪的句子,更具体,如英文字母的页面(字形不同的对同一行文本基线)上的“舞蹈”。在这种情况下,您可以尝试按SimpleTextExtractionStrategy
,以按其在PDF语法内容流中出现的顺序返回文本。