hotfix: Fixed npe for inline image where getXObject() returns null

This commit is contained in:
deiflaender 2023-08-11 15:10:40 +02:00
parent db70ba5aa0
commit f39ed2e586
2 changed files with 6 additions and 2 deletions

View File

@ -118,6 +118,9 @@ public class WatermarkRemovalService {
if (element.getType() == Element.e_form) {
processXObject(element, visitedXObjIds, elementFeaturesLinkedList, formObjectsOccuringMoreThanOnceOnAPage, minAreaCoveringPage);
} else if (element.getType() == Element.e_image || element.getType() == Element.e_inline_image) {
if (element.getXObject() == null) {
return;
}
processImages(element, elementFeaturesLinkedList);
}
}
@ -220,9 +223,10 @@ public class WatermarkRemovalService {
switch (element.getType()) {
case Element.e_image, Element.e_inline_image -> {
if (element.getBBox() == null) {
writer.writeElement(element);
continue;
}
if (element.getBBox().getHeight() * element.getBBox().getWidth() < minAreaCoveringFromPage) {
if (element.getBBox().getHeight() * element.getBBox().getWidth() < minAreaCoveringFromPage || element.getXObject() == null) {
writer.writeElement(element);
continue;
}

View File

@ -23,7 +23,7 @@ class WatermarkRemovalServiceTest {
WatermarkRemovalService watermarkRemovalService = new WatermarkRemovalService();
String filename = "files/PO_82_277_H_2013 (1).pdf";
String filename = "files/18_TiltPlus_IrritacaoOcularAguda.pdf";
String tmpFilename = createTmpFileName(filename, "WATERMARK_REMOVAL");
try (var in = this.getClass().getClassLoader().getResourceAsStream(filename); var out = new FileOutputStream(tmpFilename)) {