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 2024/12/17 10:47:53 UTC

svn commit: r1922554 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java

Author: tilman
Date: Tue Dec 17 10:47:53 2024
New Revision: 1922554

URL: http://svn.apache.org/viewvc?rev=1922554&view=rev
Log:
PDFBOX-5797: also modify /DA entries in kid widgets if they exist

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java?rev=1922554&r1=1922553&r2=1922554&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java Tue Dec 17 10:47:53 2024
@@ -25,6 +25,7 @@ import org.apache.pdfbox.cos.COSNumber;
 import org.apache.pdfbox.cos.COSStream;
 import org.apache.pdfbox.cos.COSString;
 import org.apache.pdfbox.pdmodel.PDResources;
+import org.apache.pdfbox.pdmodel.interactive.annotation.PDAnnotationWidget;
 
 /**
  * Base class for fields which use "Variable Text".
@@ -127,6 +128,19 @@ public abstract class PDVariableText ext
     public void setDefaultAppearance(String daValue)
     {
         getCOSObject().setString(COSName.DA, daValue);
+
+        // PDFBOX-5797: Sejda files have a /DA entry in kid widgets
+        if (getCOSObject().containsKey(COSName.KIDS))
+        {
+            for (PDAnnotationWidget widget : getWidgets())
+            {
+                COSDictionary widgetDict = widget.getCOSObject();
+                if (widgetDict.containsKey(COSName.DA))
+                {
+                    widgetDict.setString(COSName.DA, daValue);
+                }
+            }
+        }
     }
 
     /**