Я хочу прочитать некоторые текстовые данные из PDF файла, используя Java. Как я могу это сделать?
Как читать файлы PDF с помощью Java?
Ответ 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.