Подтвердить что ты не робот

Как читать файлы PDF с помощью Java?

Я хочу прочитать некоторые текстовые данные из PDF файла, используя Java. Как я могу это сделать?

4b9b3361

Ответ 1

PDFBox - лучшая библиотека, которую я нашел для этой цели, она всеобъемлющая и очень простая в использовании, если вы просто делаете базовое извлечение текста. Примеры можно найти здесь.

Он объясняет это на странице, но нужно следить за тем, чтобы начальные и конечные индексы при использовании setStartPage() и setEndPage() были и включительно. Я пропустил это объяснение в первый раз, а потом мне потребовалось некоторое время, чтобы понять, почему я получаю больше одной страницы с каждым звонком!

Itext - еще одна альтернатива, которая также работает с С#, хотя я лично ее никогда не использовал. Это более низкий уровень, чем PDFBox, поэтому он менее подходит для работы, если вам нужно всего лишь основное извлечение текста.

Ответ 2

с Apache PDFBox это выглядит следующим образом:

PDDocument document = PDDocument.load(new File("test.pdf"));
if (!document.isEncrypted()) {
    PDFTextStripper stripper = new PDFTextStripper();
    String text = stripper.getText(document);
    System.out.println("Text:" + text);
}
document.close();

Ответ 3

PDFBox содержит инструменты для извлечения текста.

iText имеет более низкий уровень поддержки текстовых манипуляций, но вам нужно написать значительный объем кода для получения текста экстракция.

iText в действии содержит хороший обзор ограничений на извлечение текста из PDF независимо от используемой библиотеки (раздел 18.2: Извлечение и редактирование текст) и убедительное объяснение, почему библиотека не поддерживает поддержку извлечения текста. Короче говоря, относительно легко написать код, который будет обрабатывать простые случаи, но в принципе невозможно извлечь текст из PDF в целом.

Ответ 4

Используйте библиотеку PDF, такую ​​как iText.