You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2020/09/06 14:13:44 UTC

svn commit: r1881511 - in /pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox: cos/ pdmodel/font/ pdmodel/interactive/digitalsignature/ pdmodel/interactive/form/

Author: lehmi
Date: Sun Sep  6 14:13:43 2020
New Revision: 1881511

URL: http://svn.apache.org/viewvc?rev=1881511&view=rev
Log:
PDFBOX-4954: introduce a method to convert a list of integers to a COSArray

Modified:
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontEmbedder.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValue.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValueCertificate.java
    pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java?rev=1881511&r1=1881510&r2=1881511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/cos/COSArray.java Sun Sep  6 14:13:43 2020
@@ -690,6 +690,20 @@ public class COSArray extends COSBase im
     }
 
     /**
+     * This will take an list of integer objects and return a COSArray of COSInteger objects.
+     *
+     * @param strings A list of integers
+     *
+     * @return An array of COSInteger objects
+     */
+    public static COSArray convertIntegerListToCOSNameCOSArray(List<Integer> integer)
+    {
+        COSArray retval = new COSArray();
+        integer.forEach(s -> retval.add(COSInteger.get(s.longValue())));
+        return retval;
+    }
+
+    /**
      * This will take an list of string objects and return a COSArray of COSName objects.
      *
      * @param strings A list of strings

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontEmbedder.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontEmbedder.java?rev=1881511&r1=1881510&r2=1881511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontEmbedder.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDTrueTypeFontEmbedder.java Sun Sep  6 14:13:43 2020
@@ -25,10 +25,10 @@ import java.util.List;
 import java.util.Map;
 import org.apache.fontbox.ttf.HorizontalMetricsTable;
 import org.apache.fontbox.ttf.TrueTypeFont;
+import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.common.COSArrayList;
 import org.apache.pdfbox.pdmodel.font.encoding.Encoding;
 import org.apache.pdfbox.pdmodel.font.encoding.GlyphList;
 
@@ -108,7 +108,7 @@ final class PDTrueTypeFontEmbedder exten
 
         font.setInt(COSName.FIRST_CHAR, firstChar);
         font.setInt(COSName.LAST_CHAR, lastChar);
-        font.setItem(COSName.WIDTHS, COSArrayList.converterToCOSArray(widths));
+        font.setItem(COSName.WIDTHS, COSArray.convertIntegerListToCOSNameCOSArray(widths));
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java?rev=1881511&r1=1881510&r2=1881511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/font/PDType1FontEmbedder.java Sun Sep  6 14:13:43 2020
@@ -23,11 +23,11 @@ import java.util.List;
 import org.apache.fontbox.afm.FontMetrics;
 import org.apache.fontbox.pfb.PfbParser;
 import org.apache.fontbox.type1.Type1Font;
+import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.io.IOUtils;
 import org.apache.pdfbox.pdmodel.PDDocument;
-import org.apache.pdfbox.pdmodel.common.COSArrayList;
 import org.apache.pdfbox.pdmodel.common.PDRectangle;
 import org.apache.pdfbox.pdmodel.common.PDStream;
 import org.apache.pdfbox.pdmodel.font.encoding.Encoding;
@@ -97,7 +97,7 @@ class PDType1FontEmbedder
         
         dict.setInt(COSName.FIRST_CHAR, 0);
         dict.setInt(COSName.LAST_CHAR, 255);
-        dict.setItem(COSName.WIDTHS, COSArrayList.converterToCOSArray(widths));
+        dict.setItem(COSName.WIDTHS, COSArray.convertIntegerListToCOSNameCOSArray(widths));
         dict.setItem(COSName.ENCODING, encoding);
     }
 

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValue.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValue.java?rev=1881511&r1=1881510&r2=1881511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValue.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValue.java Sun Sep  6 14:13:43 2020
@@ -428,7 +428,7 @@ public class PDSeedValue implements COSO
      */
     public void setReasons(List<String> reasons)
     {
-        dictionary.setItem(COSName.REASONS, COSArrayList.converterToCOSArray(reasons));
+        dictionary.setItem(COSName.REASONS, COSArray.convertStringListToCOSStringCOSArray(reasons));
     }
 
     /**
@@ -574,6 +574,7 @@ public class PDSeedValue implements COSO
      */
     public void setLegalAttestation(List<String> legalAttestation)
     {
-        dictionary.setItem(COSName.LEGAL_ATTESTATION, COSArrayList.converterToCOSArray(legalAttestation));
+        dictionary.setItem(COSName.LEGAL_ATTESTATION,
+                COSArray.convertStringListToCOSStringCOSArray(legalAttestation));
     }
 }

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValueCertificate.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValueCertificate.java?rev=1881511&r1=1881510&r2=1881511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValueCertificate.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/digitalsignature/PDSeedValueCertificate.java Sun Sep  6 14:13:43 2020
@@ -393,7 +393,7 @@ public class PDSeedValueCertificate impl
     public void setKeyUsage(List<String> keyUsageExtensions)
     {
         this.dictionary.setItem(COSName.KEY_USAGE,
-                COSArrayList.converterToCOSArray(keyUsageExtensions));
+                COSArray.convertStringListToCOSStringCOSArray(keyUsageExtensions));
     }
 
     /**

Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java?rev=1881511&r1=1881510&r2=1881511&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/form/PDChoice.java Sun Sep  6 14:13:43 2020
@@ -26,7 +26,6 @@ import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
 import org.apache.pdfbox.cos.COSName;
 import org.apache.pdfbox.cos.COSString;
-import org.apache.pdfbox.pdmodel.common.COSArrayList;
 import org.apache.pdfbox.pdmodel.interactive.form.FieldUtils.KeyValue;
 
 /**
@@ -254,7 +253,7 @@ public abstract class PDChoice extends P
                 throw new IllegalArgumentException(
                         "Setting the indices is not allowed for choice fields not allowing multiple selections.");
             }
-            getCOSObject().setItem(COSName.I, COSArrayList.converterToCOSArray(values));
+            getCOSObject().setItem(COSName.I, COSArray.convertIntegerListToCOSNameCOSArray(values));
         }
         else
         {