From a9c60080b0db4949340903b480b1d6c5b31e9bd5 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 2 Apr 2026 11:51:43 +0300 Subject: [PATCH 1/3] Add new constants to ASAtom --- src/main/java/org/verapdf/as/ASAtom.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/main/java/org/verapdf/as/ASAtom.java b/src/main/java/org/verapdf/as/ASAtom.java index 81db500e..1d6f3aa2 100644 --- a/src/main/java/org/verapdf/as/ASAtom.java +++ b/src/main/java/org/verapdf/as/ASAtom.java @@ -264,6 +264,7 @@ public class ASAtom implements Comparable { public static final ASAtom FDF = new ASAtom("FDF"); public static final ASAtom FF = new ASAtom("Ff"); public static final ASAtom FIELDS = new ASAtom("Fields"); + public static final ASAtom FIGURE = new ASAtom("Figure"); public static final ASAtom FILE_ATTACHMENT = new ASAtom("FileAttachment"); public static final ASAtom FILESPEC = new ASAtom("Filespec"); public static final ASAtom FILTER = new ASAtom("Filter"); @@ -288,6 +289,7 @@ public class ASAtom implements Comparable { public static final ASAtom FONT_WEIGHT = new ASAtom("FontWeight"); public static final ASAtom FORM = new ASAtom("Form"); public static final ASAtom FORMTYPE = new ASAtom("FormType"); + public static final ASAtom FORMULA = new ASAtom("Formula"); public static final ASAtom FREE_TEXT = new ASAtom("FreeText"); public static final ASAtom FRM = new ASAtom("FRM"); public static final ASAtom FS = new ASAtom("FS"); From 0f220b29cd60c3bc5085c5a948b4cd383adc5215 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 2 Apr 2026 16:06:28 +0300 Subject: [PATCH 2/3] Add isOutsideCropBox to PDAnnotation --- src/main/java/org/verapdf/pd/PDAnnotation.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/main/java/org/verapdf/pd/PDAnnotation.java b/src/main/java/org/verapdf/pd/PDAnnotation.java index b40ee3eb..5d87f7ac 100644 --- a/src/main/java/org/verapdf/pd/PDAnnotation.java +++ b/src/main/java/org/verapdf/pd/PDAnnotation.java @@ -280,4 +280,14 @@ public PD3DStream get3DD() { } return null; } + + public static Boolean isOutsideCropBox(PDPage page, PDAnnotation annotation) { + double[] cropBox = page.getCropBox(); + double[] rectangle = TypeConverter.getRealArray(annotation.getKey(ASAtom.RECT), 4, "Rect"); + if (rectangle != null && rectangle.length >= 4) { + return cropBox[1] >= rectangle[3] || cropBox[0] >= rectangle[2] + || cropBox[3] <= rectangle[1] || cropBox[2] <= rectangle[0]; + } + return null; + } } From 0d4584a3251baf4dbe59ffc0b4b912ec4c5c33e7 Mon Sep 17 00:00:00 2001 From: Kakhnovich Raman Date: Thu, 2 Apr 2026 17:26:38 +0300 Subject: [PATCH 3/3] Update PDAnnotation.java --- src/main/java/org/verapdf/pd/PDAnnotation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/verapdf/pd/PDAnnotation.java b/src/main/java/org/verapdf/pd/PDAnnotation.java index 5d87f7ac..c1499e69 100644 --- a/src/main/java/org/verapdf/pd/PDAnnotation.java +++ b/src/main/java/org/verapdf/pd/PDAnnotation.java @@ -283,7 +283,7 @@ public PD3DStream get3DD() { public static Boolean isOutsideCropBox(PDPage page, PDAnnotation annotation) { double[] cropBox = page.getCropBox(); - double[] rectangle = TypeConverter.getRealArray(annotation.getKey(ASAtom.RECT), 4, "Rect"); + double[] rectangle = annotation.getRect(); if (rectangle != null && rectangle.length >= 4) { return cropBox[1] >= rectangle[3] || cropBox[0] >= rectangle[2] || cropBox[3] <= rectangle[1] || cropBox[2] <= rectangle[0];