Мы используем pdfbox 1.8.8 для извлечения текста из файлов pdf в моем приложении. есть проблема с pdfbox, где он регистрирует ошибку "org. apache .pdfbox.pdfparser.NonSequentialPDFParser checkXrefOffsets SEVERE: Не удается найти объект 8 0 (смещение источника 0)", но не выбрасывает его для решения проблемы. Наконец, он возвращает текст на другом неизвестном языке. Мы не смогли обновить версию pdfbox, так как в приложении нет тестов качества.
Вот код:
PDDocument pdDocument = null;
File tmpfile = File.createTempFile(String.format("txttmp-%s", UUID.randomUUID().toString()), null);
// pdDocument= PDDocument.load(new FileInputStream(sourceFile),true);
pdDocument =PDDocument.loadNonSeq(sourceFile, new RandomAccessFile(tmpfile, "rw"));
PDFTextStripper pdfTextStripper = new PDFTextStripper();
int pages = pdDocument.getNumberOfPages();
for (int page = 1; page <= pages; page++) {
//Set up the text stripper to grab just one page worth of text
pdfTextStripper.setSortByPosition(true);
pdfTextStripper.setStartPage(page);
pdfTextStripper.setEndPage(page);
String pageText = pdfTextStripper.getText(pdDocument);
}