Я пытаюсь извлечь некоторую информацию из набора PDF-файлов. Это работает до сих пор, но один PDF дает мне жалобы.Удаление текста PDFBox - пустой вывод
Я использую PDFBox 1.8.8 с Java 7.
PDDocument document = PDDocument.load(pdfFile);
PDFTextStripper stripper = new PDFTextStripper();
System.out.println("File: "+pdfFile.getAbsolutePath()+" readable: "+pdfFile.canRead()+" size: "+pdfFile.length());
System.out.println(stripper.getText(document));
Это просто печатает
File: /foo/bar/mypdf.pdf readable: true size: 1267743
Затем он завершается. Обычно я использую метод writeText и вставляю текст через поток, но выше код использовался для упрощения. Я попытался преобразовать PDF с pdftotext
- он работает так же, как и другие.
Я не получаю никакого исключения, ничего. Есть идеи?
EDIT: Дополнительная информация: Создана с Acrobat Distiller 9.0.0 (Windows), Format PDF-1.6; Другие PDF-файлы - это версии 1.4 и 1.5
Как представляется, не содержит экзотических символов. Я могу отметить/копировать текст в выказывают PDF-просмотрщик
edit2:
Dang это. диалоговое окно свойств файла (Nautilus) сказал "Безопасность: Нет", но pdfinfo
дает мне:
Encrypted: yes (print:yes copy:no change:no addNotes:no algorithm:AES)
Во всяком случае, чтобы обойти это? В конце концов, pdftotext
может получить текст.
Можете ли вы поделиться PDF-файлом, чтобы воспроизвести проблему? И ... * Затем он заканчивается * - вы пытались включить 'System.out.println (stripper.getText (document));' in 'try {...} catch (Throwable t) {t.printStackTrace(); } '? – mkl
PdfBox иногда терпит неудачу, если PDF содержит нелатинские символы. Это так? –
@mkl Я боюсь, что не могу: (Это связано с работой. Он завершается, bc. Я вставил System.exit (1) после кода выше, но сначала должен что-то напечатать. Попробовал поймать все, но ничего. –