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 2020/10/15 06:10:27 UTC

svn commit: r1882511 - in /pdfbox/trunk/pdfbox/src: main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormFlattenTest.java

Author: msahyoun
Date: Thu Oct 15 06:10:27 2020
New Revision: 1882511

URL: http://svn.apache.org/viewvc?rev=1882511&view=rev
Log:
PDFBOX-2626 PDFBOX-4985: generate appearances if NeedAppearances is true; reenable test

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java
    pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormFlattenTest.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java?rev=1882511&r1=1882510&r2=1882511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroForm.java Thu Oct 15 06:10:27 2020
@@ -109,7 +109,16 @@ public final class PDAcroForm implements
         // build the visual appearance as there is none for the widgets
         if (getNeedAppearances())
         {
-            rebuildAppearances(this);
+            try
+            {
+                LOG.debug("trying to generate appearance streams for fields as NeedAppearances is true()");
+                refreshAppearances();
+            }
+            catch (IOException ioe)
+            {
+                LOG.debug("couldn't generate appearance stream for some fields - check output");
+                LOG.debug(ioe.getMessage());
+            }
         }
     }
     
@@ -771,25 +780,6 @@ public final class PDAcroForm implements
             }
         }
     }
-
-    private void rebuildAppearances(PDAcroForm acroForm)
-    {
-        for (PDField field : acroForm.getFieldTree())
-        {
-            if (!field.getValueAsString().isEmpty())
-            {
-                try
-                {
-                    field.setValue(field.getValueAsString());
-                }
-                catch (IOException ioe)
-                {
-                    LOG.debug("couldn't generate appearance stream for field " + field.getFullyQualifiedName());
-                    LOG.debug(ioe.getMessage());
-                }
-            }
-        }
-    }
 
     private Matrix resolveTransformationMatrix(PDAnnotation annotation, PDAppearanceStream appearanceStream)
     {

Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormFlattenTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormFlattenTest.java?rev=1882511&r1=1882510&r2=1882511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormFlattenTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/interactive/form/PDAcroFormFlattenTest.java Thu Oct 15 06:10:27 2020
@@ -120,8 +120,7 @@ public class PDAcroFormFlattenTest
      *
      * @throws IOException
      */
-    // disabled as there is a small difference which can not be seen visually
-    // @Test
+    @Test
     public void testFlattenPDFBOX2586() throws IOException
     {
         String sourceUrl = "https://issues.apache.org/jira/secure/attachment/12689788/test.pdf";