[
https://issues.apache.org/jira/browse/PDFBOX-2020?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Tilman Hausherr resolved PDFBOX-2020.
-------------------------------------
Resolution: Fixed
Fix Version/s: 2.0.0
1.8.7
Assignee: Tilman Hausherr (was: Guillaume Bailleul)
Unlike in april, I understand the problem now: preflight was searching for a
color space when there are no colorspaces at all in the resources. The new code
avoids the NPE and will simply return "The ColorSpace is unknown".
[~gbm.bailleul] The failing isartor tests were handled in PDFBOX-2179.
[~pikachuman] Please get a snapshot version (see link I posted previously in
the other issue) and reopen this one if it doesn't work. Re "the colorspace is
unknown": you can verify this by opening your file with the PDFDebugger command
line app. (If you don't know how to find it in the "tree", I can attach a
screenshot)
> PDF/A Validation raises NullPointerException for PDFs without ImageColorSpace
> -----------------------------------------------------------------------------
>
> Key: PDFBOX-2020
> URL: https://issues.apache.org/jira/browse/PDFBOX-2020
> Project: PDFBox
> Issue Type: Bug
> Components: Preflight
> Affects Versions: 1.8.6, 1.8.7, 2.0.0
> Environment: Windows 7, Sun JDK7 64Bit
> Reporter: Ulrich Wohlfeil
> Assignee: Tilman Hausherr
> Labels: pdf/a, validation
> Fix For: 1.8.7, 2.0.0
>
>
> TestCode: Example Code http://pdfbox.apache.org/cookbook/pdfavalidation.html
> If i check a PDF without ImageColorSpace the example Code raises the
> following NullPointerException:
> Exception in thread "main" java.lang.NullPointerException
> at
> org.apache.pdfbox.preflight.content.ContentStreamEngine.validImageColorSpace(ContentStreamEngine.java:323)
> at
> org.apache.pdfbox.preflight.content.ContentStreamWrapper.processOperator(ContentStreamWrapper.java:179)
> at
> org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:254)
> at
> org.apache.pdfbox.util.PDFStreamEngine.processSubStream(PDFStreamEngine.java:221)
> at
> org.apache.pdfbox.util.PDFStreamEngine.processStream(PDFStreamEngine.java:203)
> at
> org.apache.pdfbox.preflight.content.ContentStreamWrapper.validPageContentStream(ContentStreamWrapper.java:76)
> at
> org.apache.pdfbox.preflight.process.reflect.SinglePageValidationProcess.validateContent(SinglePageValidationProcess.java:180)
> at
> org.apache.pdfbox.preflight.process.reflect.SinglePageValidationProcess.validate(SinglePageValidationProcess.java:88)
> at
> org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:73)
> at
> org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:52)
> at
> org.apache.pdfbox.preflight.process.PageTreeValidationProcess.validatePage(PageTreeValidationProcess.java:58)
> at
> org.apache.pdfbox.preflight.process.PageTreeValidationProcess.validate(PageTreeValidationProcess.java:47)
> at
> org.apache.pdfbox.preflight.utils.ContextHelper.callValidation(ContextHelper.java:73)
> at
> org.apache.pdfbox.preflight.utils.ContextHelper.validateElement(ContextHelper.java:88)
> at
> org.apache.pdfbox.preflight.PreflightDocument.validate(PreflightDocument.java:169)
> at PdfBox.main(PdfBox.java:33)
> I think the method org.apache.pdfbox.pdmodel.PDResources.getColorSpaces
> (PDResources.java:311) did not return a object if their is no image color
> space but the code line
> org.apache.pdfbox.preflight.content.ContentStreamEngine.validImageColorSpace(ContentStreamEngine.java:323)
> expects a object in any case.
--
This message was sent by Atlassian JIRA
(v6.2#6252)