Author: tilman
Date: Sun Sep 13 07:26:43 2026
New Revision: 1938159

Log:
PDFBOX-6261: fix ClassCastException so that method works, improve javadoc, add 
logging

Modified:
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDExportFormatAttributeObject.java
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDStandardAttributeObject.java
   
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDTableAttributeObject.java

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDExportFormatAttributeObject.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDExportFormatAttributeObject.java
        Sun Sep 13 04:20:05 2026        (r1938158)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDExportFormatAttributeObject.java
        Sun Sep 13 07:26:43 2026        (r1938159)
@@ -160,8 +160,8 @@ public class PDExportFormatAttributeObje
      * shall be the element identifier (see the
      * {@link 
org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure.PDStructureElement#getElementIdentifier()})
 for a TH structure
      * element that shall be used as a header associated with this cell.
-     * 
-     * @return the headers.
+     *
+     * @return the headers or null if there are none.
      */
     public String[] getHeaders()
     {

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDStandardAttributeObject.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDStandardAttributeObject.java
    Sun Sep 13 04:20:05 2026        (r1938158)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDStandardAttributeObject.java
    Sun Sep 13 07:26:43 2026        (r1938159)
@@ -16,6 +16,9 @@
  */
 package org.apache.pdfbox.pdmodel.documentinterchange.taggedpdf;
 
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+
 import org.apache.pdfbox.cos.COSArray;
 import org.apache.pdfbox.cos.COSBase;
 import org.apache.pdfbox.cos.COSDictionary;
@@ -33,6 +36,8 @@ import org.apache.pdfbox.pdmodel.graphic
  */
 public abstract class PDStandardAttributeObject extends PDAttributeObject
 {
+    private static final Logger LOG = 
LogManager.getLogger(PDStandardAttributeObject.class);
+
     /**
      * An "unspecified" default float value.
      */
@@ -109,7 +114,12 @@ public abstract class PDStandardAttribut
             String[] strings = new String[array.size()];
             for (int i = 0; i < array.size(); i++)
             {
-                strings[i] = ((COSName) array.getObject(i)).getName();
+                strings[i] = array.getString(i);
+                if (strings[i] == null)
+                {
+                    // We may have to improve this.
+                    LOG.warn("Element {} is {} but should be a string", i, 
array.getObject(i));
+                }
             }
             return strings;
         }

Modified: 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDTableAttributeObject.java
==============================================================================
--- 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDTableAttributeObject.java
       Sun Sep 13 04:20:05 2026        (r1938158)
+++ 
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/documentinterchange/taggedpdf/PDTableAttributeObject.java
       Sun Sep 13 07:26:43 2026        (r1938159)
@@ -119,8 +119,8 @@ public class PDTableAttributeObject exte
      * shall be the element identifier (see the
      * {@link 
org.apache.pdfbox.pdmodel.documentinterchange.logicalstructure.PDStructureElement#getElementIdentifier()})
 for a TH structure
      * element that shall be used as a header associated with this cell.
-     * 
-     * @return the headers.
+     *
+     * @return the headers or null if there are none.
      */
     public String[] getHeaders()
     {

Reply via email to