diff --git a/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java b/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java index 61aacf4db0a..d0ced60b10e 100644 --- a/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java +++ b/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDHighlightAppearanceHandler.java @@ -63,18 +63,19 @@ public void generateAppearanceStreams() public void generateNormalAppearance() { PDAnnotationHighlight annotation = (PDAnnotationHighlight) getAnnotation(); - PDRectangle rect = annotation.getRectangle(); + float[] pathsArray = annotation.getQuadPoints(); if (pathsArray == null) { return; } - AnnotationBorder ab = AnnotationBorder.getAnnotationBorder(annotation, annotation.getBorderStyle()); PDColor color = annotation.getColor(); if (color == null || color.getComponents().length == 0) { return; } + PDRectangle rect = annotation.getRectangle(); + AnnotationBorder ab = AnnotationBorder.getAnnotationBorder(annotation, annotation.getBorderStyle()); // Adjust rectangle even if not empty, see PLPDF.com-MarkupAnnotations.pdf //TODO in a class structure this should be overridable diff --git a/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java b/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java index 17ae4df5df2..5277f6ab3db 100644 --- a/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java +++ b/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/interactive/annotation/handlers/PDInkAppearanceHandler.java @@ -56,10 +56,14 @@ public void generateAppearanceStreams() public void generateNormalAppearance() { PDAnnotationInk ink = (PDAnnotationInk) getAnnotation(); + PDColor color = ink.getColor(); + if (color == null || color.getComponents().length == 0) + { + return; + } // PDF spec does not mention /Border for ink annotations, but it is used if /BS is not available AnnotationBorder ab = AnnotationBorder.getAnnotationBorder(ink, ink.getBorderStyle()); - PDColor color = ink.getColor(); - if (color == null || color.getComponents().length == 0 || Float.compare(ab.width, 0) == 0) + if (Float.compare(ab.width, 0) == 0) { return; }