RED-7075: Improved WatermarkLogic including text and image watermarks

This commit is contained in:
RaphaelArnold 2023-08-31 15:04:04 +02:00
parent 84e3390f4e
commit 89c2ab02ea

View File

@ -307,7 +307,7 @@ public class WatermarkRemovalService {
.getX1() + page.getPageWidth() * IMAGE_POSITION_WIDTH_THRESHOLD || element.getBBox().getX2() > page.getVisibleContentBox() .getX1() + page.getPageWidth() * IMAGE_POSITION_WIDTH_THRESHOLD || element.getBBox().getX2() > page.getVisibleContentBox()
.getX2() - page.getPageWidth() * IMAGE_POSITION_WIDTH_THRESHOLD; .getX2() - page.getPageWidth() * IMAGE_POSITION_WIDTH_THRESHOLD;
if ((isLocatedNearBorder && element.getBBox().getHeight() * element.getBBox().getWidth() < minAreaCoveringFromPage) || element.getXObject() == null) { if (isLocatedNearBorder && element.getBBox().getHeight() * element.getBBox().getWidth() < minAreaCoveringFromPage || element.getXObject() == null) {
writer.writeElement(element); writer.writeElement(element);
continue; continue;
} }
@ -315,7 +315,7 @@ public class WatermarkRemovalService {
removeImages(element, writer, watermarksElementFeaturesList); removeImages(element, writer, watermarksElementFeaturesList);
} }
case Element.e_form -> processForms(page, element, reader, writer, watermarksElementFeaturesList, visitedXObjIds); case Element.e_form -> processForms(page, element, reader, writer, watermarksElementFeaturesList, visitedXObjIds);
case Element.e_text -> processText(element, reader, writer, watermarksElementFeaturesList, page); case Element.e_text -> processText(element, writer, watermarksElementFeaturesList, page);
default -> writer.writeElement(element); default -> writer.writeElement(element);
} }
} }
@ -323,7 +323,7 @@ public class WatermarkRemovalService {
@SneakyThrows @SneakyThrows
private void processText(Element element, ElementReader reader, ElementWriter writer, List<ElementFeatures> watermarksElementFeaturesList, Page page) { private void processText(Element element, ElementWriter writer, List<ElementFeatures> watermarksElementFeaturesList, Page page) {
if (!foundTextWatermark) { if (!foundTextWatermark) {
writer.writeElement(element); writer.writeElement(element);