From d0e988189b08b0e83a78f21963148c72c95edf24 Mon Sep 17 00:00:00 2001 From: "valery.bokov" Date: Tue, 11 Nov 2025 11:19:31 +0100 Subject: [PATCH] improve performance for BruteForceParser.bfSearchForObjStreams method --- .../java/org/apache/pdfbox/pdfparser/BruteForceParser.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java b/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java index 3effe713e89..a7422d9bc48 100644 --- a/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java +++ b/pdfbox/src/main/java/org/apache/pdfbox/pdfparser/BruteForceParser.java @@ -308,13 +308,14 @@ protected void bfSearchForObjStreams(Map xrefTable) throws I Map bfSearchForObjStreamOffsets = bfSearchForObjStreamOffsets(); Map bfCOSObjectOffsets = getBFCOSObjectOffsets(); // log warning about skipped stream - bfSearchForObjStreamOffsets.entrySet().stream() // + Set> entries = bfSearchForObjStreamOffsets.entrySet(); + entries.stream() // .filter(o -> bfCOSObjectOffsets.get(o.getValue()) == null) // .forEach(o -> LOG.warn("Skipped incomplete object stream:{} at {}", o.getValue(), o.getKey())); // collect all stream offsets - List objStreamOffsets = bfSearchForObjStreamOffsets.entrySet().stream() // + List objStreamOffsets = entries.stream() // .filter(o -> bfCOSObjectOffsets.get(o.getValue()) != null) // .filter(o -> o.getKey().equals(bfCOSObjectOffsets.get(o.getValue()))) // .map(Map.Entry::getKey) //