use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class COSUtils method getAsFloat.
/**
* Return the COSBase object as Float if the COSBase object is an instance of COSFloat or a reference to a COSFloat
* object. In other cases, this method returns null;
*
* @param cbase the object to get.
* @param cDoc the document.
* @return the object as Float if the object is a COSFloat or a reference to it. Returns null otherwise.
*/
public static Float getAsFloat(COSBase cbase, COSDocument cDoc) {
if (cbase instanceof COSObject) {
COSObjectKey key = new COSObjectKey((COSObject) cbase);
COSObject obj = cDoc.getObjectFromPool(key);
if (obj == null) {
return null;
} else if (obj.getObject() instanceof COSNumber) {
return ((COSNumber) obj.getObject()).floatValue();
} else {
return null;
}
} else if (cbase instanceof COSNumber) {
return ((COSNumber) cbase).floatValue();
} else {
return null;
}
}
use of org.apache.pdfbox.cos.COSNumber in project pdfbox by apache.
the class PreflightType3Stream method processOperator.
/**
* This is used to handle an operation.
*
* @param operator
* The operation to perform.
* @param operands
* The list of arguments.
*
* @throws IOException
* If there is an error processing the operation.
*/
@Override
protected void processOperator(Operator operator, List<COSBase> operands) throws IOException {
super.processOperator(operator, operands);
String operation = operator.getName();
if (operation.equals("BI")) {
image = new PDInlineImage(operator.getImageParameters(), operator.getImageData(), getResources());
validateInlineImageFilter(operator);
validateInlineImageColorSpace(operator);
}
if (operation.equals("d0")) {
checkType3FirstOperator(operands);
} else if (operation.equals("d1")) {
COSNumber llx = (COSNumber) operands.get(2);
COSNumber lly = (COSNumber) operands.get(3);
COSNumber urx = (COSNumber) operands.get(4);
COSNumber ury = (COSNumber) operands.get(5);
box = new BoundingBox();
box.setLowerLeftX(llx.floatValue());
box.setLowerLeftY(lly.floatValue());
box.setUpperRightX(urx.floatValue());
box.setUpperRightY(ury.floatValue());
checkType3FirstOperator(operands);
}
checkColorOperators(operation);
validateRenderingIntent(operator, operands);
checkSetColorSpaceOperators(operator, operands);
validateNumberOfGraphicStates(operator);
firstOperator = false;
}
use of org.apache.pdfbox.cos.COSNumber 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.cos.COSNumber 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.cos.COSNumber 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);
}
Aggregations