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());
+ }
+ }
}