You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ms...@apache.org on 2018/02/10 21:19:29 UTC
svn commit: r1823796 -
/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Author: msahyoun
Date: Sat Feb 10 21:19:28 2018
New Revision: 1823796
URL: http://svn.apache.org/viewvc?rev=1823796&view=rev
Log:
PDFBOX-4071: avoid potential NPE as annotationFileAttachment.getFile() might return null
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java?rev=1823796&r1=1823795&r2=1823796&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/pdmodel/ExtractEmbeddedFiles.java Sat Feb 10 21:19:28 2018
@@ -29,6 +29,7 @@ import org.apache.pdfbox.pdmodel.PDPage;
import org.apache.pdfbox.pdmodel.common.PDNameTreeNode;
import org.apache.pdfbox.pdmodel.common.filespecification.PDComplexFileSpecification;
import org.apache.pdfbox.pdmodel.common.filespecification.PDEmbeddedFile;
+import org.apache.pdfbox.pdmodel.common.filespecification.PDFileSpecification;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotation;
import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationFileAttachment;
@@ -93,9 +94,13 @@ public final class ExtractEmbeddedFiles
if (annotation instanceof PDAnnotationFileAttachment)
{
PDAnnotationFileAttachment annotationFileAttachment = (PDAnnotationFileAttachment) annotation;
- PDComplexFileSpecification fileSpec = (PDComplexFileSpecification) annotationFileAttachment.getFile();
- PDEmbeddedFile embeddedFile = getEmbeddedFile(fileSpec);
- extractFile(filePath, fileSpec.getFilename(), embeddedFile);
+ PDFileSpecification fileSpec = annotationFileAttachment.getFile();
+ if (fileSpec instanceof PDComplexFileSpecification)
+ {
+ PDComplexFileSpecification complexFileSpec = (PDComplexFileSpecification) fileSpec;
+ PDEmbeddedFile embeddedFile = getEmbeddedFile(complexFileSpec);
+ extractFile(filePath, complexFileSpec.getFilename(), embeddedFile);
+ }
}
}
}