diff --git a/cermine-impl/src/main/java/pl/edu/icm/cermine/structure/ITextCharacterExtractor.java b/cermine-impl/src/main/java/pl/edu/icm/cermine/structure/ITextCharacterExtractor.java index f465bd18..7f320c3c 100644 --- a/cermine-impl/src/main/java/pl/edu/icm/cermine/structure/ITextCharacterExtractor.java +++ b/cermine-impl/src/main/java/pl/edu/icm/cermine/structure/ITextCharacterExtractor.java @@ -109,7 +109,15 @@ public BxDocument extractCharacters(InputStream stream) throws AnalysisException processAlternativeColorSpace(resources); processor.reset(); - processor.processContent(ContentByteUtils.getContentBytesForPage(reader, pageNumber), resources); + try { + processor.processContent(ContentByteUtils.getContentBytesForPage(reader, pageNumber), resources); + } catch (com.itextpdf.text.ExceptionConverter ex) { + System.out.println("Failed to parse page " + pageNumber + " with error: '" + ex.getMessage() + "' ... skipping page!"); + continue; + } catch(IllegalArgumentException ex) { + System.out.println("Failed to parse page " + pageNumber + " with error: '" + ex.getMessage() + "' ... skipping page!"); + continue; + } TimeoutRegister.get().check(); }