You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2015/05/15 02:07:52 UTC

svn commit: r1679480 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form: PDField.java PDTextField.java PDVariableText.java

Author: jahewson
Date: Fri May 15 00:07:52 2015
New Revision: 1679480

URL: http://svn.apache.org/r1679480
Log:
PDFBOX-2333: Only PDVariableText requires text streams

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java?rev=1679480&r1=1679479&r2=1679480&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDField.java Fri May 15 00:07:52 2015
@@ -103,35 +103,6 @@ public abstract class PDField implements
     }
     
     /**
-     * Get a text as text stream.
-     * 
-     * Some dictionary entries allow either a text or a text stream.
-     * 
-     * @param base the potential text or text stream
-     * @return the text stream
-     * @throws IOException if the field dictionary entry is not a text type
-     */
-    protected String valueToString(COSBase base) throws IOException
-    {
-        if (base == null)
-        {
-            return null;
-        }
-        else if (base instanceof COSString)
-        {
-            return ((COSString)base).getString();
-        }
-        else if (base instanceof COSStream)
-        {
-            return ((COSStream)base).getString();
-        }
-        else
-        {
-            throw new IOException("Unexpected field value of type: " + base.getClass().getName());
-        }
-    }
-    
-    /**
      * Get the FT entry of the field. This is a read only field and is set depending on the actual type. The field type
      * is an inheritable attribute.
      * 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java?rev=1679480&r1=1679479&r2=1679480&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDTextField.java Fri May 15 00:07:52 2015
@@ -234,7 +234,7 @@ public final class PDTextField extends P
     @Override
     public String getValue() throws IOException
     {
-        String string = valueToString(getInheritableAttribute(COSName.V));
+        String string = getStringOrStream(getInheritableAttribute(COSName.V));
         if (string != null) 
         {
             return string;

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java?rev=1679480&r1=1679479&r2=1679480&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDVariableText.java Fri May 15 00:07:52 2015
@@ -18,9 +18,11 @@ package org.apache.pdfbox.pdmodel.intera
 
 import java.io.IOException;
 
+import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSNumber;
+import org.apache.pdfbox.cos.COSStream;
 import org.apache.pdfbox.cos.COSString;
 
 /**
@@ -164,7 +166,7 @@ public abstract class PDVariableText ext
      */
     public String getRichTextValue() throws IOException
     {
-        String string = valueToString(getInheritableAttribute(COSName.RV));
+        String string = getStringOrStream(getInheritableAttribute(COSName.RV));
         if (string != null)
         {
             return string;
@@ -198,4 +200,33 @@ public abstract class PDVariableText ext
             dictionary.removeItem(COSName.RV);
         }        
     }
+
+    /**
+     * Get a text as text stream.
+     *
+     * Some dictionary entries allow either a text or a text stream.
+     *
+     * @param base the potential text or text stream
+     * @return the text stream
+     * @throws IOException if the field dictionary entry is not a text type
+     */
+    protected final String getStringOrStream(COSBase base) throws IOException
+    {
+        if (base == null)
+        {
+            return null;
+        }
+        else if (base instanceof COSString)
+        {
+            return ((COSString)base).getString();
+        }
+        else if (base instanceof COSStream)
+        {
+            return ((COSStream)base).getString();
+        }
+        else
+        {
+            throw new IOException("Unexpected field value of type: " + base.getClass().getName());
+        }
+    }
 }