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()
{