From 3cd8d6d7dce3984b2a0cf3c5ad263f02ee3305d4 Mon Sep 17 00:00:00 2001 From: "valery.bokov" Date: Sun, 24 May 2026 19:12:02 +0200 Subject: [PATCH] refactor COSWriterCompressionPool.filterElement method --- .../pdfwriter/compress/COSWriterCompressionPool.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java b/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java index 62523b7a024..dee207ddbb3 100644 --- a/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java +++ b/pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/compress/COSWriterCompressionPool.java @@ -246,20 +246,20 @@ private boolean filterElement(COSBase element) if (element instanceof COSObject) { COSObject cosObject = (COSObject) element; - if (cosObject.getKey() != null && objectPool.contains(cosObject.getKey())) + COSObjectKey objectKey = cosObject.getKey(); + COSBase object = cosObject.getObject(); + if (objectKey != null && objectPool.contains(objectKey)) { // check if the stored object matches the referenced object otherwise replace the key with a new one // there may differences if some imported content uses the same object numbers than the target pdf - if (objectPool.getObject(cosObject.getKey()).equals(cosObject.getObject())) + if (objectPool.getObject(objectKey).equals(object)) { return false; } cosObject.setKey(null); } - if (cosObject.getObject() != null) - { - return true; - } + + return object != null; } else if (element instanceof COSArray || (element instanceof COSDictionary && !allDirectObjects.contains(element)))