Author: tilman
Date: Mon Sep 29 08:27:52 2025
New Revision: 1928832
Log:
PDFBOX-5660: optimize, as suggested by Valery Bokov; closes #267
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
Modified:
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
==============================================================================
---
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
Mon Sep 29 08:27:49 2025 (r1928831)
+++
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/PDAbstractContentStream.java
Mon Sep 29 08:27:52 2025 (r1928832)
@@ -656,12 +656,13 @@ abstract class PDAbstractContentStream i
*/
public void setStrokingColor(PDColor color) throws IOException
{
+ PDColorSpace colorSpace = color.getColorSpace();
if (strokingColorSpaceStack.isEmpty() ||
- strokingColorSpaceStack.peek() != color.getColorSpace())
+ strokingColorSpaceStack.peek() != colorSpace)
{
- writeOperand(getName(color.getColorSpace()));
+ writeOperand(getName(colorSpace));
writeOperator(OperatorName.STROKING_COLORSPACE);
- setStrokingColorSpaceStack(color.getColorSpace());
+ setStrokingColorSpaceStack(colorSpace);
}
for (float value : color.getComponents())
@@ -669,15 +670,15 @@ abstract class PDAbstractContentStream i
writeOperand(value);
}
- if (color.getColorSpace() instanceof PDPattern)
+ if (colorSpace instanceof PDPattern)
{
writeOperand(color.getPatternName());
}
- if (color.getColorSpace() instanceof PDPattern ||
- color.getColorSpace() instanceof PDSeparation ||
- color.getColorSpace() instanceof PDDeviceN ||
- color.getColorSpace() instanceof PDICCBased)
+ if (colorSpace instanceof PDPattern ||
+ colorSpace instanceof PDSeparation ||
+ colorSpace instanceof PDDeviceN ||
+ colorSpace instanceof PDICCBased)
{
writeOperator(OperatorName.STROKING_COLOR_N);
}
@@ -775,12 +776,13 @@ abstract class PDAbstractContentStream i
*/
public void setNonStrokingColor(PDColor color) throws IOException
{
+ PDColorSpace colorSpace = color.getColorSpace();
if (nonStrokingColorSpaceStack.isEmpty() ||
- nonStrokingColorSpaceStack.peek() != color.getColorSpace())
+ nonStrokingColorSpaceStack.peek() != colorSpace)
{
- writeOperand(getName(color.getColorSpace()));
+ writeOperand(getName(colorSpace));
writeOperator(OperatorName.NON_STROKING_COLORSPACE);
- setNonStrokingColorSpaceStack(color.getColorSpace());
+ setNonStrokingColorSpaceStack(colorSpace);
}
for (float value : color.getComponents())
@@ -788,15 +790,15 @@ abstract class PDAbstractContentStream i
writeOperand(value);
}
- if (color.getColorSpace() instanceof PDPattern)
+ if (colorSpace instanceof PDPattern)
{
writeOperand(color.getPatternName());
}
- if (color.getColorSpace() instanceof PDPattern ||
- color.getColorSpace() instanceof PDSeparation ||
- color.getColorSpace() instanceof PDDeviceN ||
- color.getColorSpace() instanceof PDICCBased)
+ if (colorSpace instanceof PDPattern ||
+ colorSpace instanceof PDSeparation ||
+ colorSpace instanceof PDDeviceN ||
+ colorSpace instanceof PDICCBased)
{
writeOperator(OperatorName.NON_STROKING_COLOR_N);
}