Search in sources :

Example 6 with MissingOperandException

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);
    }
}
Also used : PDTransparencyGroup(org.apache.pdfbox.pdmodel.graphics.form.PDTransparencyGroup) PDImageXObject(org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject) COSName(org.apache.pdfbox.cos.COSName) MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) MissingResourceException(org.apache.pdfbox.pdmodel.MissingResourceException) COSBase(org.apache.pdfbox.cos.COSBase) PDFormXObject(org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject) PDXObject(org.apache.pdfbox.pdmodel.graphics.PDXObject)

Example 7 with MissingOperandException

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());
}
Also used : MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber)

Example 8 with MissingOperandException

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);
}
Also used : RenderingMode(org.apache.pdfbox.pdmodel.graphics.state.RenderingMode) MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber) COSBase(org.apache.pdfbox.cos.COSBase)

Example 9 with MissingOperandException

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);
}
Also used : MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) Point2D(java.awt.geom.Point2D) COSNumber(org.apache.pdfbox.cos.COSNumber)

Example 10 with MissingOperandException

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);
}
Also used : MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber) ArrayList(java.util.ArrayList) COSBase(org.apache.pdfbox.cos.COSBase) COSFloat(org.apache.pdfbox.cos.COSFloat)

Aggregations

MissingOperandException (org.apache.pdfbox.contentstream.operator.MissingOperandException)23 COSNumber (org.apache.pdfbox.cos.COSNumber)19 COSBase (org.apache.pdfbox.cos.COSBase)11 Point2D (java.awt.geom.Point2D)6 COSName (org.apache.pdfbox.cos.COSName)5 Matrix (org.apache.pdfbox.util.Matrix)3 COSArray (org.apache.pdfbox.cos.COSArray)2 PDXObject (org.apache.pdfbox.pdmodel.graphics.PDXObject)2 PDFormXObject (org.apache.pdfbox.pdmodel.graphics.form.PDFormXObject)2 PDTransparencyGroup (org.apache.pdfbox.pdmodel.graphics.form.PDTransparencyGroup)2 ArrayList (java.util.ArrayList)1 COSFloat (org.apache.pdfbox.cos.COSFloat)1 MissingResourceException (org.apache.pdfbox.pdmodel.MissingResourceException)1 PDFont (org.apache.pdfbox.pdmodel.font.PDFont)1 PDColor (org.apache.pdfbox.pdmodel.graphics.color.PDColor)1 PDColorSpace (org.apache.pdfbox.pdmodel.graphics.color.PDColorSpace)1 PDPattern (org.apache.pdfbox.pdmodel.graphics.color.PDPattern)1 PDImageXObject (org.apache.pdfbox.pdmodel.graphics.image.PDImageXObject)1 PDExtendedGraphicsState (org.apache.pdfbox.pdmodel.graphics.state.PDExtendedGraphicsState)1 RenderingMode (org.apache.pdfbox.pdmodel.graphics.state.RenderingMode)1