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 2021/08/25 17:30:33 UTC

svn commit: r1892602 - in /pdfbox/trunk/pdfbox/src: main/java/org/apache/pdfbox/pdfwriter/COSWriter.java test/java/org/apache/pdfbox/pdmodel/TestPDDocument.java

Author: tilman
Date: Wed Aug 25 17:30:33 2021
New Revision: 1892602

URL: http://svn.apache.org/viewvc?rev=1892602&view=rev
Log:
PDFBOX-5265: make sure that all versions are the same when saving compressed

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDDocument.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java?rev=1892602&r1=1892601&r2=1892602&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/COSWriter.java Wed Aug 25 17:30:33 2021
@@ -649,6 +649,8 @@ public class COSWriter implements ICOSVi
     {
         if (isCompress())
         {
+            pdDocument.setVersion(
+                    Math.max(pdDocument.getVersion(), COSWriterCompressionPool.MINIMUM_SUPPORTED_VERSION));
             doc.setVersion(
                     Math.max(doc.getVersion(), COSWriterCompressionPool.MINIMUM_SUPPORTED_VERSION));
         }

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDDocument.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDDocument.java?rev=1892602&r1=1892601&r2=1892602&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDDocument.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/TestPDDocument.java Wed Aug 25 17:30:33 2021
@@ -155,6 +155,21 @@ class TestPDDocument
             // catalog version version has to be 1.5
             assertEquals("1.5", document.getDocumentCatalog().getVersion());
         }
+
+        // PDFBOX-5265: check that all versions are 1.6 when compression is used (default)
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        try (PDDocument document = new PDDocument())
+        {
+            document.addPage(new PDPage());
+            document.save(baos);
+        }
+        try (PDDocument document = Loader.loadPDF(baos.toByteArray()))
+        {
+            assertEquals("1.6", document.getDocumentCatalog().getVersion());
+            assertEquals(1.6f, document.getDocument().getVersion());
+            assertEquals(1.6f, document.getVersion());
+        }
+        assertEquals("%PDF-1.6", new String(baos.toByteArray(), 0, 8));
     }
 
     /**