Index: modules/org.sophie2.extra.func.pdf/src/main/java/org/sophie2/extra/func/pdf/model/PDFResource.java =================================================================== --- modules/org.sophie2.extra.func.pdf/src/main/java/org/sophie2/extra/func/pdf/model/PDFResource.java (revision 4748) +++ modules/org.sophie2.extra.func.pdf/src/main/java/org/sophie2/extra/func/pdf/model/PDFResource.java (working copy) @@ -5,6 +5,7 @@ import org.sophie2.base.commons.util.BinData; import org.sophie2.base.model.resources.Resource; import org.sophie2.base.model.resources.ResourceSpace; +import org.sophie2.core.logging.SophieLog; import org.sophie2.core.prolib.errors.NotAvailableException; import org.sophie2.core.prolib.impl.AutoProperty; import org.sophie2.core.prolib.interfaces.Prop; @@ -57,8 +58,8 @@ try { return new PDFFile(pdfData().get().toByteBuffer()); } catch (IOException e) { - throw new RuntimeException(e); - + SophieLog.error("Exception was thrown while trying to construct a PDFFile. Possible reason: file format is not PDF."); + return null; } } } Index: modules/org.sophie2.extra.func.pdf/src/main/java/org/sophie2/extra/func/pdf/view/logic/PDFLogic.java =================================================================== --- modules/org.sophie2.extra.func.pdf/src/main/java/org/sophie2/extra/func/pdf/view/logic/PDFLogic.java (revision 4748) +++ modules/org.sophie2.extra.func.pdf/src/main/java/org/sophie2/extra/func/pdf/view/logic/PDFLogic.java (working copy) @@ -84,9 +84,14 @@ BinData pdfData = new BinData(pdfFile); pdfResource.pdfData().set(pdfData); pdfResource.pdfPageNum().set(0); + if (pdfResource.pdfFile().get() == null) { + DialogUtils.showErrorDialog(pageView.swingComponent() + .get(), "This may not be a PDF File", "Unsupported file format"); + pdfResource = null; + } } catch (final IOException e) { DialogUtils.showExceptionDialog(pageView.swingComponent() - .get(), e, "Unsupported file format"); + .get(), e, "Error"); } } return pdfResource;