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/03/21 05:36:32 UTC

svn commit: r1887888 - /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java

Author: tilman
Date: Sun Mar 21 05:36:32 2021
New Revision: 1887888

URL: http://svn.apache.org/viewvc?rev=1887888&view=rev
Log:
PDFBOX-4892: improve performance, as suggested by valerybokov

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java?rev=1887888&r1=1887887&r2=1887888&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java Sun Mar 21 05:36:32 2021
@@ -140,24 +140,30 @@ class AppearanceGeneratorHelper
         
         for (PDAnnotationWidget widget : field.getWidgets())
         {
-            if (widget.getNormalAppearanceStream() != null && widget.getNormalAppearanceStream().getResources() != null)
+            PDAppearanceStream stream = widget.getNormalAppearanceStream();
+            if (stream == null)
             {
-                PDResources widgetResources = widget.getNormalAppearanceStream().getResources();
-                for (COSName fontResourceName : widgetResources.getFontNames())
+                continue;
+            }
+            PDResources widgetResources = stream.getResources();
+            if (widgetResources == null)
+            {
+                continue;
+            }
+            for (COSName fontResourceName : widgetResources.getFontNames())
+            {
+                try
                 {
-                    try
+                    if (acroFormResources.getFont(fontResourceName) == null)
                     {
-                        if (acroFormResources.getFont(fontResourceName) == null)
-                        {
-                            LOG.debug("Adding font resource " + fontResourceName + " from widget to AcroForm");
-                            acroFormResources.put(fontResourceName, widgetResources.getFont(fontResourceName));
-                        }
-                    }
-                    catch (IOException e)
-                    {
-                        LOG.warn("Unable to match field level font with AcroForm font", e);
+                        LOG.debug("Adding font resource " + fontResourceName + " from widget to AcroForm");
+                        acroFormResources.put(fontResourceName, widgetResources.getFont(fontResourceName));
                     }
                 }
+                catch (IOException e)
+                {
+                    LOG.warn("Unable to match field level font with AcroForm font", e);
+                }
             }
         }
     }