use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class Concatenate method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 6) {
throw new MissingOperandException(operator, arguments);
}
if (!checkArrayTypesClass(arguments, COSNumber.class)) {
return;
}
// concatenate matrix to current transformation matrix
COSNumber a = (COSNumber) arguments.get(0);
COSNumber b = (COSNumber) arguments.get(1);
COSNumber c = (COSNumber) arguments.get(2);
COSNumber d = (COSNumber) arguments.get(3);
COSNumber e = (COSNumber) arguments.get(4);
COSNumber f = (COSNumber) arguments.get(5);
Matrix matrix = new Matrix(a.floatValue(), b.floatValue(), c.floatValue(), d.floatValue(), e.floatValue(), f.floatValue());
context.getGraphicsState().getCurrentTransformationMatrix().concatenate(matrix);
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class SetGraphicsStateParameters method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 1) {
throw new MissingOperandException(operator, arguments);
}
COSBase base0 = arguments.get(0);
if (!(base0 instanceof COSName)) {
return;
}
// set parameters from graphics state parameter dictionary
COSName graphicsName = (COSName) base0;
PDExtendedGraphicsState gs = context.getResources().getExtGState(graphicsName);
if (gs == null) {
LOG.error("name for 'gs' operator not found in resources: /" + graphicsName.getName());
return;
}
gs.copyIntoGraphicsState(context.getGraphicsState());
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class SetLineMiterLimit method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 1) {
throw new MissingOperandException(operator, arguments);
}
COSNumber miterLimit = (COSNumber) arguments.get(0);
context.getGraphicsState().setMiterLimit(miterLimit.floatValue());
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class CurveToReplicateFinalPoint method process.
@Override
public void process(Operator operator, List<COSBase> operands) throws IOException {
if (operands.size() < 4) {
throw new MissingOperandException(operator, operands);
}
if (!checkArrayTypesClass(operands, COSNumber.class)) {
return;
}
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.Float point1 = context.transformedPoint(x1.floatValue(), y1.floatValue());
Point2D.Float point3 = context.transformedPoint(x3.floatValue(), y3.floatValue());
context.curveTo(point1.x, point1.y, point3.x, point3.y, point3.x, point3.y);
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class CurveToReplicateInitialPoint method process.
@Override
public void process(Operator operator, List<COSBase> operands) throws IOException {
if (operands.size() < 4) {
throw new MissingOperandException(operator, operands);
}
if (!checkArrayTypesClass(operands, COSNumber.class)) {
return;
}
COSNumber x2 = (COSNumber) operands.get(0);
COSNumber y2 = (COSNumber) operands.get(1);
COSNumber x3 = (COSNumber) operands.get(2);
COSNumber y3 = (COSNumber) operands.get(3);
Point2D currentPoint = context.getCurrentPoint();
Point2D.Float point2 = context.transformedPoint(x2.floatValue(), y2.floatValue());
Point2D.Float point3 = context.transformedPoint(x3.floatValue(), y3.floatValue());
if (currentPoint == null) {
LOG.warn("curveTo (" + point3.x + "," + point3.y + ") without initial MoveTo");
context.moveTo(point3.x, point3.y);
} else {
context.curveTo((float) currentPoint.getX(), (float) currentPoint.getY(), point2.x, point2.y, point3.x, point3.y);
}
}
Aggregations