use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class DrawObject method process.
@Override
public void process(Operator operator, List<COSBase> operands) throws IOException {
if (operands.size() < 1) {
throw new MissingOperandException(operator, operands);
}
COSBase base0 = operands.get(0);
if (!(base0 instanceof COSName)) {
return;
}
COSName objectName = (COSName) base0;
PDXObject xobject = context.getResources().getXObject(objectName);
if (xobject == null) {
throw new MissingResourceException("Missing XObject: " + objectName.getName());
} else if (xobject instanceof PDImageXObject) {
PDImageXObject image = (PDImageXObject) xobject;
context.drawImage(image);
} else if (xobject instanceof PDTransparencyGroup) {
getContext().showTransparencyGroup((PDTransparencyGroup) xobject);
} else if (xobject instanceof PDFormXObject) {
getContext().showForm((PDFormXObject) xobject);
}
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class SetTextHorizontalScaling method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 1) {
throw new MissingOperandException(operator, arguments);
}
COSNumber scaling = (COSNumber) arguments.get(0);
context.getGraphicsState().getTextState().setHorizontalScaling(scaling.floatValue());
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class SetTextRenderingMode 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 COSNumber)) {
return;
}
COSNumber mode = (COSNumber) base0;
int val = mode.intValue();
if (val < 0 || val >= RenderingMode.values().length) {
return;
}
RenderingMode renderingMode = RenderingMode.fromInt(val);
context.getGraphicsState().getTextState().setRenderingMode(renderingMode);
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class AppendRectangleToPath 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 x = (COSNumber) operands.get(0);
COSNumber y = (COSNumber) operands.get(1);
COSNumber w = (COSNumber) operands.get(2);
COSNumber h = (COSNumber) operands.get(3);
float x1 = x.floatValue();
float y1 = y.floatValue();
// create a pair of coordinates for the transformation
float x2 = w.floatValue() + x1;
float y2 = h.floatValue() + y1;
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);
}
use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.
the class MoveTextSetLeading method process.
@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
if (arguments.size() < 2) {
throw new MissingOperandException(operator, arguments);
}
// move text position and set leading
COSBase base1 = arguments.get(1);
if (!(base1 instanceof COSNumber)) {
return;
}
COSNumber y = (COSNumber) base1;
List<COSBase> args = new ArrayList<>();
args.add(new COSFloat(-1 * y.floatValue()));
context.processOperator("TL", args);
context.processOperator("Td", arguments);
}
Aggregations