Author: tilman
Date: Wed Dec 10 05:45:37 2025
New Revision: 1930414
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov, closes #369
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Modified:
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
==============================================================================
---
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Wed Dec 10 04:20:02 2025 (r1930413)
+++
pdfbox/branches/3.0/pdfbox/src/main/java/org/apache/pdfbox/rendering/PageDrawer.java
Wed Dec 10 05:45:37 2025 (r1930414)
@@ -87,6 +87,7 @@ import org.apache.pdfbox.pdmodel.graphic
import org.apache.pdfbox.pdmodel.graphics.color.PDSeparation;
import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
import org.apache.pdfbox.pdmodel.graphics.form.PDTransparencyGroup;
+import org.apache.pdfbox.pdmodel.graphics.form.PDTransparencyGroupAttributes;
import org.apache.pdfbox.pdmodel.graphics.image.PDImage;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import
org.apache.pdfbox.pdmodel.graphics.optionalcontent.PDOptionalContentGroup;
@@ -1826,7 +1827,8 @@ public class PageDrawer extends PDFGraph
height = maxY - minY;
// FIXME - color space
- if (isGray(form.getGroup().getColorSpace(form.getResources())))
+ PDTransparencyGroupAttributes group = form.getGroup();
+ if (isGray(group.getColorSpace(form.getResources())))
{
image = create2ByteGrayAlphaImage(width, height);
}
@@ -1835,7 +1837,7 @@ public class PageDrawer extends PDFGraph
image = new BufferedImage(width, height,
BufferedImage.TYPE_INT_ARGB);
}
- boolean needsBackdrop = !isSoftMask &&
!form.getGroup().isIsolated() &&
+ boolean needsBackdrop = !isSoftMask && !group.isIsolated() &&
hasBlendMode(form, new HashSet<>());
BufferedImage backdropImage = null;
// Position of this group in parent group's coordinates