Я читаю PDF-файл на арабском языке через библиотеку PDFBox построчно. При проверке консоли отладки я вижу, что все строки в порядке, но когда все содержимое списка просматривается в одной строке, кажется, что текст перемешивается, а не в порядке. Также библиотека считывает из PDF некоторые дополнительные символы, которые не видны глазами и вызывают проблемы с точностью чтения PDF. Как видно на изображении Image2, когда мы просматриваем элементы по индексу, они кажутся читаемыми правильно, но при просмотре в виде одной строки они перетасовываются. Может ли кто-нибудь объяснить это ненормальное поведение?
Изображение в формате PDF
[img]https://i. sstatic.net/TMUTEabJ.png[/img]
Консоль отладки
[img]https: //i.sstatic.net/AJrTQ6M8.png[/img]
Я пробовал использовать разные методы, например, пытаться удалить лишние символы, менять порядок строк, чтобы увидеть, зеркально ли отображен текст. но ничего не получилось.
public List extractPageText(int pageNumber, PDDocument document) {
List 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;
}
Подробнее здесь: https://stackoverflow.com/questions/791 ... e-in-order
Почему текст на арабском языке, прочитанный из PDF, перемешивается, хотя в List<String> он выглядит в порядке при провер ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение