You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2020/02/05 17:57:49 UTC

svn commit: r1873659 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java

Author: tilman
Date: Wed Feb  5 17:57:49 2020
New Revision: 1873659

URL: http://svn.apache.org/viewvc?rev=1873659&view=rev
Log:
PDFBOX-4766: return valid suffix for inline images

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java?rev=1873659&r1=1873658&r2=1873659&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/graphics/image/PDInlineImage.java Wed Feb  5 17:57:49 2020
@@ -391,7 +391,23 @@ public final class PDInlineImage impleme
     @Override
     public String getSuffix()
     {
-        // TODO implement me
-        return null;
+        List<String> filters = getFilters();
+
+        if (filters == null || filters.isEmpty())
+        {
+            return "png";
+        }
+        if (filters.contains(COSName.DCT_DECODE.getName()) || 
+            filters.contains(COSName.DCT_DECODE_ABBREVIATION.getName()))
+        {
+            return "jpg";
+        }
+        if (filters.contains(COSName.CCITTFAX_DECODE) ||
+            filters.contains(COSName.CCITTFAX_DECODE_ABBREVIATION.getName()))
+        {
+            return "tiff";
+        }
+        // JPX and JBIG2 don't exist for inline images
+        return "png";        
     }
 }