iTextSharp – Как получить позицию слова на странице

Я использую метод iTextSharp и reader.GetPageContent, чтобы вытащить текст из PDF. Мне нужно найти прямоугольник / позицию для каждого слова, найденного в документе. Есть ли способ получить прямоугольник / положение слова в PDF с помощью iTextSharp?

Да, есть. Проверьте пакет text.pdf.parser , в частности LocationTextExtractionStrategy . Собственно, это тоже не могло бы сделать трюк. Вероятно, вы захотите написать свою собственную TextExtractionStrategy для подачи в PdfTextExtractor:

 MyTexExStrat strat = new MyTexExStrat(); PdfTextExtractor.getTextFromPage(reader, pageNum, strat); // get the strings-n-rects from strat. public class MyTexExStrat implements TextExtractionStrategy { void beginTextBlock() {} void endTextBlock() {} void renderImage(ImageRenderInfo info) {} void renderText(TextRenderInfo info) { // track text and location here. } } 

Вероятно, вы захотите посмотреть на источник LocationTextExtractionStrategy, чтобы увидеть, как он объединяет текст, который разделяет базовый уровень. Вы даже можете изменить LTES для хранения параллельных массивов строк и прямоугольников.

PS: чтобы построить прямоугольники, вы можете просто получить AscentLine & DescentLine и использовать эти координаты как верхний и нижний углы:

 Vector bottomLeft = info.getDescentLine().getStartPoint(); Vector topRight = info.getAscentLine().getEndPoint(); Rectangle rect = new Rectangle(bottomLeft.get(Vector.I1), bottomLeft.get(Vector.I2), topRight.get(Vector.I1), topRight.get(Vector.I2)); 

Внимание: приведенный выше код ass-u-mes гласит, что текст горизонтален и идет слева направо. Повернутый текст будет прикручивать его, как текст по вертикали или справа налево (арабский, иврит). Для большинства приложений выше должно быть хорошо, но знаете, что это ограничения.

Хорошая охота.

  • Извлечь первую страницу из нескольких PDF-файлов
  • Есть ли какие-либо frameworks для выделения текста в pdf-файле после рендеринга на iphone
  • Водяные знаки с PDFBox
  • Преобразование djvu в pdf и сохранение оглавления, как это возможно?
  • Печать PDF-файла без фона
  • Изменение размера страниц в Adobe Acrobat Pro
  • iTextSharp - Преобразование слова doc / docx в pdf
  • Добавление таблицы в существующий PDF на той же странице - ITEXT
  • Есть ли эффективный способ копирования текста из PDF без разрывов строк?
  • Сценарий FOSS для разблокировки PDF для печати
  • Asp.Net MVC как получить представление для создания PDF
  • Давайте будем гением компьютера.