From 2a9583318befdf6381ece04d4d2b5db70f00333a Mon Sep 17 00:00:00 2001 From: Kilian Schuettler Date: Tue, 23 Jan 2024 12:31:53 +0100 Subject: [PATCH] RED-8212: fix specific case --- .../commons/InvisibleElementRemovalService.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/iqser/red/pdftronlogic/commons/InvisibleElementRemovalService.java b/src/main/java/com/iqser/red/pdftronlogic/commons/InvisibleElementRemovalService.java index 9f8a69b..1871838 100644 --- a/src/main/java/com/iqser/red/pdftronlogic/commons/InvisibleElementRemovalService.java +++ b/src/main/java/com/iqser/red/pdftronlogic/commons/InvisibleElementRemovalService.java @@ -89,7 +89,7 @@ public class InvisibleElementRemovalService { * This method is similar to {@link #removeInvisibleElements(InputStream, OutputStream, boolean, boolean)}, just with a PDFDoc. */ @SneakyThrows - public void removeInvisibleElements(PDFDoc pdfDoc, boolean removePaths, boolean delta) { + public void removeInvisibleElements(PDFDoc pdfDoc, boolean delta, boolean removePaths) { execute(pdfDoc, delta, removePaths); } @@ -314,10 +314,13 @@ public class InvisibleElementRemovalService { context.visibleElements().removeAll(currentOverlappedElements); } context.visibleElements().add(ElementFeatureFactory.extractFeatures(pathElement)); - if (!context.delta() || !context.removePaths()) { + if (!context.delta()) { writer.writeElement(pathElement); } + } else if (!context.delta() && !context.removePaths()) { + writer.writeElement(pathElement); } + if (context.delta() && !inClippingPath && context.removePaths()) { pathElement.getGState().setFillColorSpace(ColorSpace.createDeviceRGB()); pathElement.getGState().setFillColor(new ColorPt(1, 0, 0));