Search in sources :

Example 16 with MissingOperandException

use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.

the class SetLineWidth method process.

@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
    if (arguments.size() < 1) {
        throw new MissingOperandException(operator, arguments);
    }
    COSNumber width = (COSNumber) arguments.get(0);
    context.getGraphicsState().setLineWidth(width.floatValue());
}
Also used : MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber)

Example 17 with MissingOperandException

use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.

the class SetMatrix method process.

@Override
public void process(Operator operator, List<COSBase> arguments) throws MissingOperandException {
    if (arguments.size() < 6) {
        throw new MissingOperandException(operator, arguments);
    }
    if (!checkArrayTypesClass(arguments, COSNumber.class)) {
        return;
    }
    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.setTextMatrix(matrix);
    context.setTextLineMatrix(matrix.clone());
}
Also used : Matrix(org.apache.pdfbox.util.Matrix) MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber)

Example 18 with MissingOperandException

use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.

the class SetRenderingIntent method process.

@Override
public void process(Operator operator, List<COSBase> operands) throws IOException {
    if (operands.size() < 1) {
        throw new MissingOperandException(operator, operands);
    }
    COSBase base = operands.get(0);
    if (!(base instanceof COSName)) {
        return;
    }
    context.getGraphicsState().setRenderingIntent(RenderingIntent.fromString(((COSName) base).getName()));
}
Also used : COSName(org.apache.pdfbox.cos.COSName) MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSBase(org.apache.pdfbox.cos.COSBase)

Example 19 with MissingOperandException

use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.

the class MoveText method process.

@Override
public void process(Operator operator, List<COSBase> arguments) throws MissingOperandException {
    if (arguments.size() < 2) {
        throw new MissingOperandException(operator, arguments);
    }
    Matrix textLineMatrix = context.getTextLineMatrix();
    if (textLineMatrix == null) {
        LOG.warn("TextLineMatrix is null, " + getName() + " operator will be ignored");
        return;
    }
    COSBase base0 = arguments.get(0);
    COSBase base1 = arguments.get(1);
    if (!(base0 instanceof COSNumber)) {
        return;
    }
    if (!(base1 instanceof COSNumber)) {
        return;
    }
    COSNumber x = (COSNumber) base0;
    COSNumber y = (COSNumber) base1;
    Matrix matrix = new Matrix(1, 0, 0, 1, x.floatValue(), y.floatValue());
    textLineMatrix.concatenate(matrix);
    context.setTextMatrix(textLineMatrix.clone());
}
Also used : Matrix(org.apache.pdfbox.util.Matrix) MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber) COSBase(org.apache.pdfbox.cos.COSBase)

Example 20 with MissingOperandException

use of org.apache.pdfbox.contentstream.operator.MissingOperandException in project pdfbox by apache.

the class SetCharSpacing method process.

@Override
public void process(Operator operator, List<COSBase> arguments) throws IOException {
    if (arguments.isEmpty()) {
        throw new MissingOperandException(operator, arguments);
    }
    // there are some documents which are incorrectly structured, and have
    // a wrong number of arguments to this, so we will assume the last argument
    // in the list
    Object charSpacing = arguments.get(arguments.size() - 1);
    if (charSpacing instanceof COSNumber) {
        COSNumber characterSpacing = (COSNumber) charSpacing;
        context.getGraphicsState().getTextState().setCharacterSpacing(characterSpacing.floatValue());
    }
}
Also used : MissingOperandException(org.apache.pdfbox.contentstream.operator.MissingOperandException) COSNumber(org.apache.pdfbox.cos.COSNumber)

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