From 46c3db7a115631085e328124cc7cd6eaf66bbc7c Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Fri, 9 Oct 2026 16:42:12 +0300 Subject: [PATCH 1/2] Add method getStructElement to PDAnnotation --- src/main/java/org/verapdf/pd/PDAnnotation.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/main/java/org/verapdf/pd/PDAnnotation.java b/src/main/java/org/verapdf/pd/PDAnnotation.java index 6a112b16..7c117e4d 100644 --- a/src/main/java/org/verapdf/pd/PDAnnotation.java +++ b/src/main/java/org/verapdf/pd/PDAnnotation.java @@ -27,6 +27,8 @@ import org.verapdf.exceptions.LoopedException; import org.verapdf.pd.actions.PDAction; import org.verapdf.pd.actions.PDAnnotationAdditionalActions; +import org.verapdf.pd.structure.PDNumberTreeNode; +import org.verapdf.pd.structure.PDStructTreeRoot; import org.verapdf.tools.StaticResources; import org.verapdf.tools.TypeConverter; @@ -132,6 +134,17 @@ public ASAtom getFT() { return null; } + public COSObject getStructElement() { + PDStructTreeRoot structTreeRoot = StaticResources.getDocument().getStructTreeRoot(); + Long structParent = this.getStructParent(); + if (structTreeRoot != null && structParent != null) { + PDNumberTreeNode parentTreeRoot = structTreeRoot.getParentTree(); + return parentTreeRoot == null ? null : parentTreeRoot.getObject(structParent); + } + + return null; + } + public double[] getRect() { return TypeConverter.getRealArray(getKey(ASAtom.RECT), 4, "Rect"); } From 41abade57436c704b83a690142f9e0055c5ad910 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Fri, 9 Oct 2026 17:04:44 +0300 Subject: [PATCH 2/2] Add method getAlt to PDAnnotation --- src/main/java/org/verapdf/pd/PDAnnotation.java | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/main/java/org/verapdf/pd/PDAnnotation.java b/src/main/java/org/verapdf/pd/PDAnnotation.java index 7c117e4d..07e3a817 100644 --- a/src/main/java/org/verapdf/pd/PDAnnotation.java +++ b/src/main/java/org/verapdf/pd/PDAnnotation.java @@ -145,6 +145,17 @@ public COSObject getStructElement() { return null; } + public String getAlt() { + COSObject structureElement = getStructElement(); + if (structureElement != null) { + COSObject baseAlt = structureElement.getKey(ASAtom.ALT); + if (baseAlt != null && baseAlt.getType() == COSObjType.COS_STRING) { + return baseAlt.getString(); + } + } + return null; + } + public double[] getRect() { return TypeConverter.getRealArray(getKey(ASAtom.RECT), 4, "Rect"); }