You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ja...@apache.org on 2014/07/12 20:35:49 UTC
svn commit: r1610021 [2/3] - in /pdfbox/trunk:
examples/src/main/java/org/apache/pdfbox/examples/util/
pdfbox/src/main/java/org/apache/pdfbox/pdfparser/
pdfbox/src/main/java/org/apache/pdfbox/pdfwriter/
pdfbox/src/main/java/org/apache/pdfbox/pdmodel/ p...
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceCMYKColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceCMYKColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceCMYKColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceCMYKColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceCMYKColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceCMYKColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceCMYKColor.java Sat Jul 12 18:35:46 2014
@@ -14,31 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
import java.util.List;
/**
- * k Set the non-stroking colour space to DeviceCMYK and set the colour to
+ * k: Set the non-stroking colour space to DeviceCMYK and set the colour to
* use for non-stroking operations.
*
* @author John Hewson
*/
public class SetNonStrokingDeviceCMYKColor extends SetNonStrokingColor
{
- /**
- * k Set the non-stroking colour space to DeviceCMYK and set the colour to
- * use for non-stroking operations.
- *
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If the color space cannot be read.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.getGraphicsState().setNonStrokingColorSpace(PDDeviceCMYK.INSTANCE);
super.process(operator, arguments);
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceGrayColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceGrayColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceGrayColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceGrayColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceGrayColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceGrayColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceGrayColor.java Sat Jul 12 18:35:46 2014
@@ -14,31 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
import java.util.List;
/**
- * g Set the non-stroking colour space to DeviceGray and set the gray
+ * g: Set the non-stroking colour space to DeviceGray and set the gray
* level to use for non-stroking operations.
*
* @author John Hewson
*/
public class SetNonStrokingDeviceGrayColor extends SetNonStrokingColor
{
- /**
- * g Set the non-stroking colour space to DeviceGray and set the gray
- * level to use for non-stroking operations.
- *
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If the color space cannot be read.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.getGraphicsState().setNonStrokingColorSpace(PDDeviceGray.INSTANCE);
super.process(operator, arguments);
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceRGBColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceRGBColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceRGBColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceRGBColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceRGBColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetNonStrokingDeviceRGBColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetNonStrokingDeviceRGBColor.java Sat Jul 12 18:35:46 2014
@@ -14,31 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
import java.util.List;
/**
- * rg Set the non-stroking colour space to DeviceRGB and set the colour to
+ * rg: Set the non-stroking colour space to DeviceRGB and set the colour to
* use for non-stroking operations.
*
* @author John Hewson
*/
public class SetNonStrokingDeviceRGBColor extends SetNonStrokingColor
{
- /**
- * k Set the non-stroking colour space to DeviceRGB and set the colour to
- * use for non-stroking operations.
- *
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If the color space cannot be read.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.getGraphicsState().setNonStrokingColorSpace(PDDeviceRGB.INSTANCE);
super.process(operator, arguments);
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColor.java Sat Jul 12 18:35:46 2014
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.pdmodel.graphics.color.PDColor;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
/**
- * SC,SCN Sets the colour to use for stroking stroking operations.
+ * SC,SCN: Sets the colour to use for stroking stroking operations.
*
* @author John Hewson
*/
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingColorSpace.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingColorSpace.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingColorSpace.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingColorSpace.java Sat Jul 12 18:35:46 2014
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import java.io.IOException;
import java.util.List;
@@ -22,22 +22,19 @@ import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
- * Sets the stroking color space.
+ * CS: Set color space for stroking operations.
*
* @author Ben Litchfield
* @author John Hewson
*/
public class SetStrokingColorSpace extends OperatorProcessor
{
- /**
- * CS Set color space for stroking operations.
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If an error occurs while processing the font.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
COSName name = (COSName)arguments.get(0);
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceCMYKColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceCMYKColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceCMYKColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceCMYKColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceCMYKColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceCMYKColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceCMYKColor.java Sat Jul 12 18:35:46 2014
@@ -14,31 +14,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceCMYK;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
import java.util.List;
/**
- * K Set the stroking colour space to DeviceCMYK and set the colour to
- * use for stroking operations.
+ * K: Set the stroking colour space to DeviceCMYK and set the colour to use for stroking operations.
*
* @author John Hewson
*/
public class SetStrokingDeviceCMYKColor extends SetStrokingColor
{
- /**
- * K Set the stroking colour space to DeviceCMYK and set the colour to
- * use for stroking operations.
- *
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If the color space cannot be read.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.getGraphicsState().setStrokingColorSpace(PDDeviceCMYK.INSTANCE);
super.process(operator, arguments);
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceGrayColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceGrayColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceGrayColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceGrayColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceGrayColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceGrayColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceGrayColor.java Sat Jul 12 18:35:46 2014
@@ -14,31 +14,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceGray;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
import java.util.List;
/**
- * G Set the stroking colour space to DeviceGray and set the gray
- * level to use for stroking operations.
+ * G: Set the stroking colour space to DeviceGray and set the gray level to use for stroking
+ * operations.
*
* @author John Hewson
*/
public class SetStrokingDeviceGrayColor extends SetStrokingColor
{
- /**
- * G Set the stroking colour space to DeviceGray and set the gray
- * level to use for stroking operations.
- *
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If the color space cannot be read.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.getGraphicsState().setStrokingColorSpace(PDDeviceGray.INSTANCE);
super.process(operator, arguments);
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceRGBColor.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceRGBColor.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceRGBColor.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceRGBColor.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceRGBColor.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetStrokingDeviceRGBColor.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/color/SetStrokingDeviceRGBColor.java Sat Jul 12 18:35:46 2014
@@ -14,17 +14,17 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.color;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.pdmodel.graphics.color.PDDeviceRGB;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
import java.util.List;
/**
- * RG Set the stroking colour space to DeviceRGB and set the colour to
- * use for stroking operations.
+ * RG: Set the stroking colour space to DeviceRGB and set the colour to use for stroking operations.
*
* @author John Hewson
*/
@@ -38,7 +38,7 @@ public class SetStrokingDeviceRGBColor e
* @param arguments List
* @throws IOException If the color space cannot be read.
*/
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.getGraphicsState().setStrokingColorSpace(PDDeviceRGB.INSTANCE);
super.process(operator, arguments);
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/AppendRectangleToPath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/AppendRectangleToPath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/AppendRectangleToPath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/AppendRectangleToPath.java Sat Jul 12 18:35:46 2014
@@ -14,30 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
-import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* re Appends a rectangle to the path.
*
* @author Ben Litchfield
*/
-public final class AppendRectangleToPath extends OperatorProcessor
+public final class AppendRectangleToPath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer) context;
-
COSNumber x = (COSNumber) operands.get(0);
COSNumber y = (COSNumber) operands.get(1);
COSNumber w = (COSNumber) operands.get(2);
@@ -50,21 +47,11 @@ public final class AppendRectangleToPath
double x2 = w.doubleValue() + x1;
double y2 = h.doubleValue() + y1;
- Point2D p0 = drawer.transformedPoint(x1, y1);
- Point2D p1 = drawer.transformedPoint(x2, y1);
- Point2D p2 = drawer.transformedPoint(x2, y2);
- Point2D p3 = drawer.transformedPoint(x1, y2);
-
- // to ensure that the path is created in the right direction, we have to create
- // it by combining single lines instead of creating a simple rectangle
- GeneralPath path = drawer.getLinePath();
- path.moveTo((float) p0.getX(), (float) p0.getY());
- path.lineTo((float) p1.getX(), (float) p1.getY());
- path.lineTo((float) p2.getX(), (float) p2.getY());
- path.lineTo((float) p3.getX(), (float) p3.getY());
-
- // close the subpath instead of adding the last line so that a possible set line
- // cap style isn't taken into account at the "beginning" of the rectangle
- path.closePath();
+ Point2D p0 = context.transformedPoint(x1, y1);
+ Point2D p1 = context.transformedPoint(x2, y1);
+ Point2D p2 = context.transformedPoint(x2, y2);
+ Point2D p3 = context.transformedPoint(x1, y2);
+
+ context.appendRectangle(p0, p1, p2, p3);
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/BeginInlineImage.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/BeginInlineImage.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/BeginInlineImage.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/BeginInlineImage.java Sat Jul 12 18:35:46 2014
@@ -14,49 +14,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
-import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.pdmodel.graphics.color.PDColor;
-import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
+import org.apache.pdfbox.pdmodel.graphics.image.PDImage;
import org.apache.pdfbox.pdmodel.graphics.image.PDInlineImage;
-import org.apache.pdfbox.util.Matrix;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* BI Begins an inline image.
+ *
* @author Ben Litchfield
*/
-public final class BeginInlineImage extends OperatorProcessor
+public final class BeginInlineImage extends GraphicsOperatorProcessor
{
- /**
- * @throws IOException If there is an error displaying the inline image.
- */
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
-
- PDInlineImage image = new PDInlineImage(operator.getImageParameters(),
- operator.getImageData(),
- context.getResources().getColorSpaces());
- BufferedImage awtImage;
- if (image.isStencil())
- {
- PDColorSpace colorSpace = drawer.getGraphicsState().getNonStrokingColorSpace();
- PDColor color = drawer.getGraphicsState().getNonStrokingColor();
- awtImage = image.getStencilImage(colorSpace.toPaint(drawer.getRenderer(), color, drawer.getPageHeight()));
- }
- else
- {
- awtImage = image.getImage();
- }
- Matrix ctm = drawer.getGraphicsState().getCurrentTransformationMatrix();
- drawer.drawImage(awtImage, ctm.createAffineTransform());
+ PDImage image = new PDInlineImage(operator.getImageParameters(),
+ operator.getImageData(),
+ context.getResources().getColorSpaces());
+ context.drawImage(image);
}
-}
\ No newline at end of file
+}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipEvenOddRule.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipEvenOddRule.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipEvenOddRule.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipEvenOddRule.java Sat Jul 12 18:35:46 2014
@@ -14,25 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.awt.geom.GeneralPath;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* W* Set clipping path using even odd rule.
+ *
* @author Daniel Wilson
*/
-public final class ClipEvenOddRule extends OperatorProcessor
+public final class ClipEvenOddRule extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).clip(GeneralPath.WIND_EVEN_ODD);
+ context.clip(GeneralPath.WIND_EVEN_ODD);
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipNonZeroRule.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipNonZeroRule.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipNonZeroRule.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClipNonZeroRule.java Sat Jul 12 18:35:46 2014
@@ -14,25 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.awt.geom.GeneralPath;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* W Set the clipping path using non zero winding rule.
+ *
* @author Daniel Wilson
*/
-public class ClipNonZeroRule extends OperatorProcessor
+public class ClipNonZeroRule extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).clip(GeneralPath.WIND_NON_ZERO);
+ context.clip(GeneralPath.WIND_NON_ZERO);
}
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseAndStrokePath.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/CloseAndStrokePath.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseAndStrokePath.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseAndStrokePath.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/CloseAndStrokePath.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/CloseAndStrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseAndStrokePath.java Sat Jul 12 18:35:46 2014
@@ -14,31 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.graphics;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
import java.io.IOException;
/**
- * Implementation of content stream operator for page drawer.
+ * s: close and stroke the path.
*
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.2 $
+ * @author Ben Litchfield
*/
-public class CloseAndStrokePath extends OperatorProcessor
+public class CloseAndStrokePath extends GraphicsOperatorProcessor
{
-
- /**
- * s close and stroke the path.
- * @param operator The operator that is being executed.
- * @param arguments List
- *
- * @throws IOException If an error occurs while processing the font.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
context.processOperator( "h", arguments );
context.processOperator( "S", arguments );
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillEvenOddAndStrokePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillEvenOddAndStrokePath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillEvenOddAndStrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillEvenOddAndStrokePath.java Sat Jul 12 18:35:46 2014
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
@@ -29,10 +29,10 @@ import java.io.IOException;
*
* @author Andreas Lehmkühler
*/
-public final class CloseFillEvenOddAndStrokePath extends OperatorProcessor
+public final class CloseFillEvenOddAndStrokePath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
context.processOperator("h", operands); // ClosePath
context.processOperator("B*", operands); // FillEvenOddAndStroke
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillNonZeroAndStrokePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillNonZeroAndStrokePath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillNonZeroAndStrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CloseFillNonZeroAndStrokePath.java Sat Jul 12 18:35:46 2014
@@ -14,13 +14,13 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
/**
@@ -28,10 +28,10 @@ import java.io.IOException;
*
* @author Ben Litchfield
*/
-public final class CloseFillNonZeroAndStrokePath extends OperatorProcessor
+public final class CloseFillNonZeroAndStrokePath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
context.processOperator("h", operands); // ClosePath
context.processOperator("B", operands); // FillNonZeroAndStroke
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClosePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClosePath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClosePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ClosePath.java Sat Jul 12 18:35:46 2014
@@ -14,24 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* h Close the path.
+ *
* @author Ben Litchfield
*/
-public final class ClosePath extends OperatorProcessor
+public final class ClosePath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).getLinePath().closePath();
+ context.closePath();
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveTo.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveTo.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveTo.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveTo.java Sat Jul 12 18:35:46 2014
@@ -14,28 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
+import java.io.IOException;
import java.util.List;
import java.awt.geom.Point2D;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* c Append curved segment to path.
+ *
* @author Ben Litchfield
*/
-public class CurveTo extends OperatorProcessor
+public class CurveTo extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
-
COSNumber x1 = (COSNumber)operands.get(0);
COSNumber y1 = (COSNumber)operands.get(1);
COSNumber x2 = (COSNumber)operands.get(2);
@@ -43,12 +42,12 @@ public class CurveTo extends OperatorPro
COSNumber x3 = (COSNumber)operands.get(4);
COSNumber y3 = (COSNumber)operands.get(5);
- Point2D point1 = drawer.transformedPoint(x1.doubleValue(), y1.doubleValue());
- Point2D point2 = drawer.transformedPoint(x2.doubleValue(), y2.doubleValue());
- Point2D point3 = drawer.transformedPoint(x3.doubleValue(), y3.doubleValue());
-
- drawer.getLinePath().curveTo((float)point1.getX(), (float)point1.getY(),
- (float)point2.getX(), (float)point2.getY(),
- (float)point3.getX(), (float)point3.getY());
+ Point2D point1 = context.transformedPoint(x1.doubleValue(), y1.doubleValue());
+ Point2D point2 = context.transformedPoint(x2.doubleValue(), y2.doubleValue());
+ Point2D point3 = context.transformedPoint(x3.doubleValue(), y3.doubleValue());
+
+ context.curveTo((float) point1.getX(), (float) point1.getY(),
+ (float) point2.getX(), (float) point2.getY(),
+ (float) point3.getX(), (float) point3.getY());
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateFinalPoint.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateFinalPoint.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateFinalPoint.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateFinalPoint.java Sat Jul 12 18:35:46 2014
@@ -14,38 +14,37 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
+import java.io.IOException;
import java.util.List;
import java.awt.geom.Point2D;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* y Append curved segment to path with final point replicated.
+ *
* @author Ben Litchfield
*/
-public final class CurveToReplicateFinalPoint extends OperatorProcessor
+public final class CurveToReplicateFinalPoint extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
-
COSNumber x1 = (COSNumber)operands.get(0);
COSNumber y1 = (COSNumber)operands.get(1);
COSNumber x3 = (COSNumber)operands.get(2);
COSNumber y3 = (COSNumber)operands.get(3);
- Point2D point1 = drawer.transformedPoint(x1.doubleValue(), y1.doubleValue());
- Point2D point3 = drawer.transformedPoint(x3.doubleValue(), y3.doubleValue());
+ Point2D point1 = context.transformedPoint(x1.doubleValue(), y1.doubleValue());
+ Point2D point3 = context.transformedPoint(x3.doubleValue(), y3.doubleValue());
- drawer.getLinePath().curveTo((float)point1.getX(), (float)point1.getY(),
- (float)point3.getX(), (float)point3.getY(),
- (float)point3.getX(), (float)point3.getY());
+ context.curveTo((float) point1.getX(), (float) point1.getY(),
+ (float) point3.getX(), (float) point3.getY(),
+ (float) point3.getX(), (float) point3.getY());
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateInitialPoint.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateInitialPoint.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateInitialPoint.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/CurveToReplicateInitialPoint.java Sat Jul 12 18:35:46 2014
@@ -14,41 +14,39 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
-import java.awt.geom.GeneralPath;
import java.awt.geom.Point2D;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* v Append curved segment to path with the initial point replicated.
+ *
* @author Ben Litchfield
*/
-public class CurveToReplicateInitialPoint extends OperatorProcessor
+public class CurveToReplicateInitialPoint extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
-
COSNumber x2 = (COSNumber)operands.get(0 );
COSNumber y2 = (COSNumber)operands.get(1);
COSNumber x3 = (COSNumber)operands.get(2);
COSNumber y3 = (COSNumber)operands.get(3);
- GeneralPath path = drawer.getLinePath();
- Point2D currentPoint = path.getCurrentPoint();
- Point2D point2 = drawer.transformedPoint(x2.doubleValue(), y2.doubleValue());
- Point2D point3 = drawer.transformedPoint(x3.doubleValue(), y3.doubleValue());
+ Point2D currentPoint = context.getCurrentPoint();
+
+ Point2D point2 = context.transformedPoint(x2.doubleValue(), y2.doubleValue());
+ Point2D point3 = context.transformedPoint(x3.doubleValue(), y3.doubleValue());
- drawer.getLinePath().curveTo((float)currentPoint.getX(), (float)currentPoint.getY(),
- (float)point2.getX(), (float)point2.getY(),
- (float)point3.getX(), (float)point3.getY());
+ context.curveTo((float) currentPoint.getX(), (float) currentPoint.getY(),
+ (float) point2.getX(), (float) point2.getY(),
+ (float) point3.getX(), (float) point3.getY());
}
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/DrawObject.java (from r1609347, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/Invoke.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/DrawObject.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/DrawObject.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/Invoke.java&r1=1609347&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/Invoke.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/DrawObject.java Sat Jul 12 18:35:46 2014
@@ -14,11 +14,9 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
-import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
-import java.awt.image.BufferedImage;
import java.io.IOException;
import java.util.List;
import java.util.Map;
@@ -27,36 +25,30 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.cos.COSStream;
import org.apache.pdfbox.filter.MissingImageReaderException;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.pdmodel.PDResources;
import org.apache.pdfbox.pdmodel.common.PDRectangle;
-import org.apache.pdfbox.pdmodel.graphics.color.PDColor;
-import org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace;
import org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject;
import org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject;
import org.apache.pdfbox.pdmodel.graphics.PDXObject;
import org.apache.pdfbox.pdmodel.graphics.state.PDGraphicsState;
import org.apache.pdfbox.util.Matrix;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
/**
- * Do Draws an XObject.
+ * Do: Draws an XObject.
+ *
* @author Ben Litchfield
* @author John Hewson
*/
-public final class Invoke extends OperatorProcessor
+public final class DrawObject extends GraphicsOperatorProcessor
{
- private static final Log LOG = LogFactory.getLog(Invoke.class);
+ private static final Log LOG = LogFactory.getLog(DrawObject.class);
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
COSName objectName = (COSName)operands.get(0);
- Map<String, PDXObject> xobjects = drawer.getResources().getXObjects();
+ Map<String, PDXObject> xobjects = context.getResources().getXObjects();
PDXObject xobject = xobjects.get(objectName.getName());
if (xobject == null)
@@ -68,20 +60,7 @@ public final class Invoke extends Operat
PDImageXObject image = (PDImageXObject)xobject;
try
{
- BufferedImage awtImage;
- if (image.isStencil())
- {
- PDColorSpace colorSpace = drawer.getGraphicsState().getNonStrokingColorSpace();
- PDColor color = drawer.getGraphicsState().getNonStrokingColor();
- awtImage = image.getStencilImage(colorSpace.toPaint(drawer.getRenderer(), color, drawer.getPageHeight()));
- }
- else
- {
- awtImage = image.getImage();
- }
- Matrix ctm = drawer.getGraphicsState().getCurrentTransformationMatrix();
- AffineTransform imageTransform = ctm.createAffineTransform();
- drawer.drawImage(awtImage, imageTransform);
+ context.drawImage(image);
}
catch (MissingImageReaderException e)
{
@@ -96,22 +75,15 @@ public final class Invoke extends Operat
}
else if (xobject instanceof PDFormXObject)
{
- PDFormXObject form = (PDFormXObject) xobject;
+ PDFormXObject form = (PDFormXObject) xobject;
if (form.getGroup() != null && COSName.TRANSPARENCY.equals(form.getGroup().getSubType())) {
- PageDrawer.TransparencyGroup group = drawer.createTransparencyGroup(form);
- // draw the result of the transparency group to the page
- group.draw();
+ getContext().showTransparencyGroup(form);
}
- else
+ else
{
// save the graphics state
context.saveGraphicsState();
- COSStream formContentStream = form.getCOSStream();
-
- // find some optional resources, instead of using the current resources
- PDResources pdResources = form.getResources();
-
// if there is an optional form matrix, we have to map the form space to the user space
Matrix matrix = form.getMatrix();
if (matrix != null)
@@ -120,14 +92,16 @@ public final class Invoke extends Operat
context.getGraphicsState().getCurrentTransformationMatrix());
context.getGraphicsState().setCurrentTransformationMatrix(xobjectCTM);
}
+
+ // clip to the form's BBox
if (form.getBBox() != null)
{
PDGraphicsState graphicsState = context.getGraphicsState();
PDRectangle bBox = form.getBBox();
- GeneralPath bboxPath = drawer.transformedPDRectanglePath(bBox);
+ GeneralPath bboxPath = context.transformedPDRectanglePath(bBox);
graphicsState.intersectClippingPath(bboxPath);
}
- getContext().processSubStream(pdResources, formContentStream);
+ getContext().showForm(form);
// restore the graphics state
context.restoreGraphicsState();
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/EndPath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/EndPath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/EndPath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/EndPath.java Sat Jul 12 18:35:46 2014
@@ -14,24 +14,25 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* n End the path.
+ *
* @author Ben Litchfield
*/
-public final class EndPath extends OperatorProcessor
+public final class EndPath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).endPath();
+ context.endPath();
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddAndStrokePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddAndStrokePath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddAndStrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddAndStrokePath.java Sat Jul 12 18:35:46 2014
@@ -14,29 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
import java.awt.geom.GeneralPath;
import java.io.IOException;
/**
- * B* Fill and then stroke the path, using the even-odd rule to determine the
- * region to fill.
+ * B* Fill and then stroke the path, using the even-odd rule to determine the region to fill.
*
* @author Andreas Lehmkühler
*/
-public final class FillEvenOddAndStrokePath extends OperatorProcessor
+public final class FillEvenOddAndStrokePath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer) context).fillAndStrokePath(GeneralPath.WIND_EVEN_ODD);
+ context.fillAndStrokePath(GeneralPath.WIND_EVEN_ODD);
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddRule.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddRule.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddRule.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillEvenOddRule.java Sat Jul 12 18:35:46 2014
@@ -14,26 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.awt.geom.GeneralPath;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* f* Fill path using even odd rule.
+ *
* @author Ben Litchfield
*/
-public final class FillEvenOddRule extends OperatorProcessor
+public final class FillEvenOddRule extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).fillPath(GeneralPath.WIND_EVEN_ODD);
+ context.fillPath(GeneralPath.WIND_EVEN_ODD);
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroAndStrokePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroAndStrokePath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroAndStrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroAndStrokePath.java Sat Jul 12 18:35:46 2014
@@ -14,29 +14,28 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
import java.awt.geom.GeneralPath;
import java.io.IOException;
/**
- * B Fill and then stroke the path, using the nonzero winding number rule to
- * determine the region to fill.
+ * B Fill and then stroke the path, using the nonzero winding number rule to determine the region
+ * to fill.
*
* @author Ben Litchfield
*/
-public class FillNonZeroAndStrokePath extends OperatorProcessor
+public class FillNonZeroAndStrokePath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer) context).fillAndStrokePath(GeneralPath.WIND_NON_ZERO);
+ context.fillAndStrokePath(GeneralPath.WIND_NON_ZERO);
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroRule.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroRule.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroRule.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/FillNonZeroRule.java Sat Jul 12 18:35:46 2014
@@ -14,26 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.awt.geom.GeneralPath;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* f,F Fill path using non zero winding rule.
+ *
* @author Ben Litchfield
*/
-public final class FillNonZeroRule extends OperatorProcessor
+public final class FillNonZeroRule extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).fillPath(GeneralPath.WIND_NON_ZERO);
+ context.fillPath(GeneralPath.WIND_NON_ZERO);
}
}
Added: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/GraphicsOperatorProcessor.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/GraphicsOperatorProcessor.java?rev=1610021&view=auto
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/GraphicsOperatorProcessor.java (added)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/GraphicsOperatorProcessor.java Sat Jul 12 18:35:46 2014
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.pdfbox.util.operator.graphics;
+
+import org.apache.pdfbox.util.PDFGraphicsStreamEngine;
+import org.apache.pdfbox.util.PDFStreamEngine;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
+
+/**
+ * Base class for graphics operators.
+ *
+ * @author John Hewson
+ */
+public abstract class GraphicsOperatorProcessor extends OperatorProcessor
+{
+ /** The processing context. */
+ protected PDFGraphicsStreamEngine context;
+
+ @Override
+ public void setContext(PDFStreamEngine context)
+ {
+ super.setContext(context);
+ this.context = (PDFGraphicsStreamEngine)context;
+ }
+}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/LineTo.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/LineTo.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/LineTo.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/LineTo.java Sat Jul 12 18:35:46 2014
@@ -14,33 +14,32 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
+import java.io.IOException;
import java.util.List;
import java.awt.geom.Point2D;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* l Append straight line segment to path.
+ *
* @author Ben Litchfield
*/
-public class LineTo extends OperatorProcessor
+public class LineTo extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
-
// append straight line segment from the current point to the point
COSNumber x = (COSNumber)operands.get(0);
COSNumber y = (COSNumber)operands.get(1);
- Point2D pos = drawer.transformedPoint(x.doubleValue(), y.doubleValue());
- drawer.getLinePath().lineTo((float)pos.getX(), (float)pos.getY());
+ Point2D pos = context.transformedPoint(x.doubleValue(), y.doubleValue());
+ context.lineTo((float) pos.getX(), (float) pos.getY());
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/MoveTo.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/MoveTo.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/MoveTo.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/MoveTo.java Sat Jul 12 18:35:46 2014
@@ -14,30 +14,30 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.awt.geom.Point2D;
+import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* m Begins a new subpath.
+ *
* @author Ben Litchfield
*/
-public final class MoveTo extends OperatorProcessor
+public final class MoveTo extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands)
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- PageDrawer drawer = (PageDrawer)context;
COSNumber x = (COSNumber)operands.get(0);
COSNumber y = (COSNumber)operands.get(1);
- Point2D pos = drawer.transformedPoint(x.doubleValue(), y.doubleValue());
- drawer.getLinePath().moveTo((float)pos.getX(), (float)pos.getY());
+ Point2D pos = context.transformedPoint(x.doubleValue(), y.doubleValue());
+ context.moveTo((float) pos.getX(), (float) pos.getY());
}
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ShadingFill.java (from r1609347, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SHFill.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ShadingFill.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ShadingFill.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SHFill.java&r1=1609347&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/pagedrawer/SHFill.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/ShadingFill.java Sat Jul 12 18:35:46 2014
@@ -14,26 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
/**
* sh Fills the clipping area with the given shading pattern.
+ *
* @author Daniel Wilson
*/
-public final class SHFill extends OperatorProcessor
+public final class ShadingFill extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).shFill((COSName)(operands.get(0)));
+ context.shadingFill((COSName) operands.get(0));
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/StrokePath.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/StrokePath.java?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/StrokePath.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/StrokePath.java Sat Jul 12 18:35:46 2014
@@ -14,26 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator.pagedrawer;
+package org.apache.pdfbox.util.operator.graphics;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
-import org.apache.pdfbox.rendering.PageDrawer;
-import org.apache.pdfbox.util.operator.PDFOperator;
-import org.apache.pdfbox.util.operator.OperatorProcessor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.Operator;
import java.io.IOException;
/**
* S Stroke the path.
+ *
* @author Ben Litchfield
*/
-public final class StrokePath extends OperatorProcessor
+public final class StrokePath extends GraphicsOperatorProcessor
{
@Override
- public void process(PDFOperator operator, List<COSBase> operands) throws IOException
+ public void process(Operator operator, List<COSBase> operands) throws IOException
{
- ((PageDrawer)context).strokePath();
+ context.strokePath();
}
}
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/package.html
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/package.html?rev=1610021&r1=1609347&r2=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/package.html (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/graphics/package.html Sat Jul 12 18:35:46 2014
@@ -20,6 +20,6 @@
</head>
<body>
-This package contains implementations of all of the PDF operators.
+This package contains implementations of all of the PDF graphics operators.
</body>
</html>
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequence.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/BeginMarkedContentSequence.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequence.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequence.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/BeginMarkedContentSequence.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/BeginMarkedContentSequence.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequence.java Sat Jul 12 18:35:46 2014
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.markedcontent;
import java.io.IOException;
import java.util.List;
@@ -22,22 +22,18 @@ import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.util.PDFMarkedContentExtractor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
* BMC : Begins a marked-content sequence.
- * @author koch
- * @version $Revision$
*
+ * @author Johannes Koch
*/
public class BeginMarkedContentSequence extends OperatorProcessor
{
-
- /**
- * {@inheritDoc}
- */
@Override
- public void process(PDFOperator operator, List<COSBase> arguments)
- throws IOException
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
COSName tag = null;
for (COSBase argument : arguments)
@@ -52,5 +48,4 @@ public class BeginMarkedContentSequence
((PDFMarkedContentExtractor) this.context).beginMarkedContentSequence(tag, null);
}
}
-
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequenceWithProperties.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/BeginMarkedContentSequenceWithProperties.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequenceWithProperties.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequenceWithProperties.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/BeginMarkedContentSequenceWithProperties.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/BeginMarkedContentSequenceWithProperties.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/BeginMarkedContentSequenceWithProperties.java Sat Jul 12 18:35:46 2014
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.markedcontent;
import java.io.IOException;
import java.util.List;
@@ -23,21 +23,18 @@ import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSDictionary;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.util.PDFMarkedContentExtractor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
* BDC : Begins a marked-content sequence with property list.
*
- * @author koch
- * @version $Revision$
+ * @author Johannes Koch
*/
public class BeginMarkedContentSequenceWithProperties extends OperatorProcessor
{
-
- /**
- * {@inheritDoc}
- */
- public void process(PDFOperator operator, List<COSBase> arguments)
- throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
COSName tag = null;
COSDictionary properties = null;
@@ -57,5 +54,4 @@ public class BeginMarkedContentSequenceW
((PDFMarkedContentExtractor) this.context).beginMarkedContentSequence(tag, properties);
}
}
-
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/EndMarkedContentSequence.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/EndMarkedContentSequence.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/EndMarkedContentSequence.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/EndMarkedContentSequence.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/EndMarkedContentSequence.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/EndMarkedContentSequence.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/markedcontent/EndMarkedContentSequence.java Sat Jul 12 18:35:46 2014
@@ -14,32 +14,29 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.markedcontent;
import java.io.IOException;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.util.PDFMarkedContentExtractor;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
* EMC : Ends a marked-content sequence begun by BMC or BDC.
- * @author koch
- * @version $Revision: $
+ *
+ * @author Johannes Koch
*/
public class EndMarkedContentSequence extends OperatorProcessor
{
-
- /**
- * {@inheritDoc}
- */
- public void process(PDFOperator operator, List<COSBase> arguments)
- throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
if (this.context instanceof PDFMarkedContentExtractor)
{
((PDFMarkedContentExtractor) this.context).endMarkedContentSequence();
}
}
-
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Concatenate.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Concatenate.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Concatenate.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Concatenate.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Concatenate.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/Concatenate.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Concatenate.java Sat Jul 12 18:35:46 2014
@@ -14,7 +14,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.state;
import java.util.List;
import java.io.IOException;
@@ -22,26 +22,20 @@ import java.io.IOException;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
import org.apache.pdfbox.util.Matrix;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
+ * cm: Concatenate matrix to current transformation matrix.
*
- * @author Huault : huault@free.fr
- * @version $Revision: 1.5 $
+ * @author Laurent Huault
*/
-
public class Concatenate extends OperatorProcessor
{
-
- /**
- * process : cm : Concatenate matrix to current transformation matrix.
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If there is an error processing the operator.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
-
- //concatenate matrix to current transformation matrix
+ // concatenate matrix to current transformation matrix
COSNumber a = (COSNumber) arguments.get(0);
COSNumber b = (COSNumber) arguments.get(1);
COSNumber c = (COSNumber) arguments.get(2);
@@ -57,10 +51,8 @@ public class Concatenate extends Operato
newMatrix.setValue(2, 0, e.floatValue());
newMatrix.setValue(2, 1, f.floatValue());
- //this line has changed
+ // this line has changed
context.getGraphicsState().setCurrentTransformationMatrix(
- newMatrix.multiply( context.getGraphicsState().getCurrentTransformationMatrix() ) );
-
-
+ newMatrix.multiply(context.getGraphicsState().getCurrentTransformationMatrix()));
}
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Restore.java (from r1609347, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/GRestore.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Restore.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Restore.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/GRestore.java&r1=1609347&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/GRestore.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Restore.java Sat Jul 12 18:35:46 2014
@@ -14,32 +14,27 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.state;
import java.util.List;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
- * Process the Q operator.
- *
- * @author Huault : huault@free.fr
+ * Q: Restore the graphics state.
*
+ * @author Laurent Huault
*/
-public class GRestore extends OperatorProcessor
+public class Restore extends OperatorProcessor
{
-
- /**
- * Log instance.
- */
- private static final Log LOG = LogFactory.getLog(GRestore.class);
+ private static final Log LOG = LogFactory.getLog(Restore.class);
- /**
- * {@inheritDoc}
- */
- public void process(PDFOperator operator, List<COSBase> arguments)
+ @Override
+ public void process(Operator operator, List<COSBase> arguments)
{
if (context.getGraphicsStackSize() > 0)
{
@@ -48,7 +43,6 @@ public class GRestore extends OperatorPr
else
{
// this shouldn't happen but it does, see PDFBOX-161
- // TODO make this self healing mechanism optional for preflight??
LOG.debug("GRestore: no graphics state left to be restored.");
}
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Save.java (from r1609347, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/GSave.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Save.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Save.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/GSave.java&r1=1609347&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/GSave.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/Save.java Sat Jul 12 18:35:46 2014
@@ -14,28 +14,24 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.state;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
/**
+ * q: Save the graphics state.
*
- * @author Huault : huault@free.fr
- * @version $Revision: 1.4 $
+ * @author Laurent Huault
*/
-
-public class GSave extends OperatorProcessor
+public class Save extends OperatorProcessor
{
- /**
- * process : q : Save graphics state.
- * @param operator The operator that is being executed.
- * @param arguments List
- */
- public void process(PDFOperator operator, List<COSBase> arguments)
+ @Override
+ public void process(Operator operator, List<COSBase> arguments)
{
context.saveGraphicsState();
}
-
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetGraphicsStateParameters.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetGraphicsStateParameters.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetGraphicsStateParameters.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetGraphicsStateParameters.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetGraphicsStateParameters.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetGraphicsStateParameters.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetGraphicsStateParameters.java Sat Jul 12 18:35:46 2014
@@ -14,38 +14,31 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.state;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSName;
import org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
import java.io.IOException;
/**
- * <p>Structal modification of the PDFEngine class :
- * the long sequence of conditions in processOperator is remplaced by
- * this strategy pattern.</p>
+ * gs: Set parameters from graphics state parameter dictionary.
*
- * @author <a href="mailto:ben@benlitchfield.com">Ben Litchfield</a>
- * @version $Revision: 1.5 $
+ * @author Ben Litchfield
*/
-
public class SetGraphicsStateParameters extends OperatorProcessor
{
- /**
- * gs Set parameters from graphics state parameter dictionary.
- * @param operator The operator that is being executed.
- * @param arguments List
- * @throws IOException If an error occurs while processing the font.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
- //set parameters from graphics state parameter dictionary
+ // set parameters from graphics state parameter dictionary
COSName graphicsName = (COSName)arguments.get( 0 );
- PDExtendedGraphicsState gs = (PDExtendedGraphicsState)context.getGraphicsStates().get( graphicsName.getName() );
+ PDExtendedGraphicsState gs = context.getGraphicsStates().get( graphicsName.getName() );
gs.copyIntoGraphicsState( context.getGraphicsState() );
}
}
Copied: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetLineCapStyle.java (from r1609836, pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetLineCapStyle.java)
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetLineCapStyle.java?p2=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetLineCapStyle.java&p1=pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetLineCapStyle.java&r1=1609836&r2=1610021&rev=1610021&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/SetLineCapStyle.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/util/operator/state/SetLineCapStyle.java Sat Jul 12 18:35:46 2014
@@ -14,32 +14,26 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-package org.apache.pdfbox.util.operator;
+package org.apache.pdfbox.util.operator.state;
import java.util.List;
import org.apache.pdfbox.cos.COSBase;
import org.apache.pdfbox.cos.COSNumber;
+import org.apache.pdfbox.util.operator.Operator;
+import org.apache.pdfbox.util.operator.OperatorProcessor;
import java.io.IOException;
/**
- * Implementation of content stream operator for page drawer.
+ * J: Set the line cap style.
*
- * @author <a href="mailto:andreas@lehmi.de>Andreas Lehmkühler</a>
- * @version $Revision: 1.0 $
+ * @author Andreas Lehmkühler
*/
public class SetLineCapStyle extends OperatorProcessor
{
-
- /**
- * Set the line cap style.
- * @param operator The operator that is being executed.
- * @param arguments List
- *
- * @throws IOException If an error occurs while processing the font.
- */
- public void process(PDFOperator operator, List<COSBase> arguments) throws IOException
+ @Override
+ public void process(Operator operator, List<COSBase> arguments) throws IOException
{
int lineCapStyle = ((COSNumber)arguments.get( 0 )).intValue();
context.getGraphicsState().setLineCap( lineCapStyle );