Это может показаться старым вопросом, но я не нашел исчерпывающего ответа, потратив полчаса на поиск по всему SO.
Я использую PDFBox и хотел бы извлечь весь текст изфайл PDF вместе с координатами каждой строки.Я использую их PrintTextLocations
пример (http://pdfbox.apache.org/apidocs/org/apache/pdfbox/examples/util/PrintTextLocations.html), но с тем видом PDF, который я использую (E-Tickets), программе не удается распознать строки, печатая каждый символ отдельно. В результате получается список строк (каждыйпредставляющий объект TextPosition
), например:
String[414.93896,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=4.0] s
String[418.93896,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=4.447998] a
String[423.38696,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=1.776001] l
String[425.16296,637.2442 fs=1.0 xscale=8.0 height=4.94 space=2.2240002 width=4.447998] e
Хотелось бы, чтобы программа распознала строку «продажа» как уникальную TextPosition
и указала мне свою позицию. Я также пытался поиграть сметоды setSpacingTolerance()
и setAverageCharacterTolerance()
PDFTextStripper
, устанавливающие различные значения выше и ниже стандартных значений (для которых FYI составляет 0,5 и 0,3 соответственно), но выход не изменился вообще. Где я иду неправильно? Спасибо ввперед.