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 2015/05/05 11:00:45 UTC

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

Author: msahyoun
Date: Tue May  5 09:00:45 2015
New Revision: 1677754

URL: http://svn.apache.org/r1677754
Log:
PDFBOX-2333: avoid redundant setFont() operations

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/AppearanceGeneratorHelper.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainTextFormatter.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=1677754&r1=1677753&r2=1677754&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 Tue May  5 09:00:45 2015
@@ -292,7 +292,13 @@ class AppearanceGeneratorHelper
         {
             defaultAppearanceHandler.setFontSize(fontSize);
             ContentStreamWriter daWriter = new ContentStreamWriter(output);
-            daWriter.writeTokens(defaultAppearanceHandler.getTokens());
+            contents.setFont(font, fontSize);
+            
+            // the font has already been set so only write the remaining parts of the DA string
+            daWriter.writeTokens(defaultAppearanceHandler.getTokens().subList(
+                        defaultAppearanceHandler.getTokens().indexOf(Operator.getOperator("Tf"))+1, 
+                        defaultAppearanceHandler.getTokens().size()
+                    ));
         }
 
         // calculation of the vertical offset from where the text will be printed 
@@ -306,7 +312,6 @@ class AppearanceGeneratorHelper
             // calculation of the horizontal offset from where the text will be printed
             leftOffset = calculateHorizontalOffset(contentEdge, font, fontSize);
             contents.newLineAtOffset(leftOffset, verticalOffset);
-            contents.setFont(font, fontSize);
             contents.showText(value);
         }
         else

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainTextFormatter.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainTextFormatter.java?rev=1677754&r1=1677753&r2=1677754&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainTextFormatter.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PlainTextFormatter.java Tue May  5 09:00:45 2015
@@ -170,8 +170,6 @@ class PlainTextFormatter
     {
         if (textContent != null && !textContent.getParagraphs().isEmpty())
         {
-            contents.setFont(appearanceStyle.getFont(), appearanceStyle.getFontSize());
-            
             for (Paragraph paragraph : textContent.getParagraphs())
             {
                 if (wrapLines)
@@ -247,7 +245,6 @@ class PlainTextFormatter
             lastPos = startOffset; 
 
             List<Word> words = line.getWords();
-            contents.setFont(appearanceStyle.getFont(), appearanceStyle.getFontSize());
             for (Word word : words)
             {
                 contents.showText(word.getText());