Есть ли способ в Java, чтобы прочитать PDF по строкам и преобразовать его в текст? Раньше я использовал iTextPDFParser, но он читал по страницам, а не по строкам. Это имеет несколько недостатков. Дайте мне знать, есть ли способ читать PDF-файлы по строкам.Можно ли читать PDF по строкам?
ответ
Прежде чем вы начнете с этого вопроса, вы должны задать себе несколько более абстрактных вопросов. Первое: «Какая строка текста в документе?» Вы видите, проблема в том, что PDF представляет собой очень большой набор документов для печати (я не буду говорить все, но это довольно близко).
Текст размещается на странице при помощи нескольких операторов: Tj
'
TJ
. Например, (a string) Tj
помещает «строку» в текущем шрифте с текущими текстовыми преобразованиями (слово/char spacing/масштабирование, матрица преобразования) на странице. И даже это упрощено, поскольку 8-битные символы в строке могут интерпретироваться во всех видах в зависимости от кодировки, используемой для этого экземпляра шрифта.
Итак, давайте посмотрим на это так: если вы поместите текст на страницу в строках, генерирующее приложение может очень хорошо использовать оператор '
, который перемещается на следующую строку и помещает строку текста. Это здорово, извлечение строк за строкой легко. Если приложение решает разместить весь текст на странице, а затем весь текст курсив, а затем весь жирный текст (я смотрю на вы troff), то вы не получите вещи в ожидаемом порядке. Фактически приложение может размещать текст на странице в любом возможном порядке, который вы хотите.
ОК, вы говорите, просто возьмите текст и отсортируйте его в порядке чтения. Это легко. Вы получаете ограничивающие поля для каждого фрагмента текста и делаете вид сверху вниз слева направо. Как насчет столбцов? Как насчет вставных коробок? Как насчет small caps или начального drop caps? А как насчет суб и надстрочного? Что относительно текста на карте, которая следует за контурами дороги или реки? Что порядок чтения в любом случае? Что, если текст - это кандзи? Что, если это смесь кандзи и английского? Что, если это иврит с цифрами? Как насчет ligatures? Где границы слов в любом случае? Что, если слово было помещено глифом за раз? Как я узнаю, когда глиф является частью слова, и я должен вставить пробел? Что делать, если на странице не было мест? Как насчет discretionary hyphens?
Это дает вам представление о масштабах проблемы и вещах, которые вам необходимо учитывать при интерпретации вывода типичного извлечения текста. Большинство инструментов для извлечения PDF-текста выходят за рамки текста, отменяя кодировку, отжигая слова и сортируя их.
Я работал над инструментами для извлечения текста в Acrobat 1.0 и 2.0, и мы ударили практически обо всем в этом списке. У нас был один инженер/исследователь, работающий полный рабочий день по коду извлечения текста в продукте 2.0, и он начал работать в середине продукта 1.0 - это близко к двум годам, чтобы получить это право (ish).
Итак, вы хотите, чтобы линия за строкой? Засучи рукава.
- 1. Как читать по строкам в pdf-файле с помощью PyPdf?
- 2. Как читать txt по строкам из pdf-файла
- 3. Можно ли отсортировать по строкам в MonetDB?
- 4. Как читать строки по строкам
- 5. Как читать переменную по строкам?
- 6. Как читать большие файлы по строкам?
- 7. C - Как читать строку по строкам?
- 8. Как читать .txt по строкам в C?
- 9. Как читать данные из NSFileHandle по строкам?
- 10. Как читать строку по строкам в j2me
- 11. Как читать файл gzip по строкам?
- 12. Bash Shell Scripting читать файл по строкам
- 13. Как читать стандартный вывод по строкам?
- 14. Как читать строку по строкам из массива
- 15. Как читать файл по строкам в файле?
- 16. Как читать текстовый файл по строкам?
- 17. Как читать содержимое из файла по строкам?
- 18. Чтение xml сбой из-за размера - можно ли его читать по строкам в python?
- 19. Можно ли читать файл по строкам, а также пропустить заданное количество строк? Python
- 20. Можно ли читать символы из `io :: stdin()` без кэширования ввода по строкам?
- 21. Можно ли читать потоки PDF с использованием фильтра FlateDecode пошагово?
- 22. Можно ли отображать код по строкам с помощью slidify?
- 23. Pandas df.describe(), можно ли это делать по строкам без транспонирования?
- 24. Прочитать pdf-файл по строкам с помощью java
- 25. Можно ли MAPI доверять неизменяемым строкам?
- 26. Поиск файла по строкам
- 27. Java 8 - Как читать файл по строкам в java?
- 28. Чтение строки по строкам
- 29. Можно ли читать из stdout?
- 30. Можно ли читать с VBO?
http://www.vogella.com/articles/JavaPDF/article.html –
Спасибо, Бенджамин. Но PdfWriter writer = PdfWriter.getInstance (документ, новый FileOutputStream (OUTPUTFILE)); document.open(); PdfReader reader = новый PdfReader (INPUTFILE); int n = reader.getNumberOfPages(); Страница PdfImportedPage; // Перейдите по всем страницам Этот PDF-ридер читает PDF-страницу на странице, Can u pls предлагает мне читать по строкам в PDF-формате – user2725544
http://www.quicklyjava.com/read-pdf-file-in-java-using -itext / –