Example usage for org.apache.pdfbox.cos COSNumber floatValue

List of usage examples for org.apache.pdfbox.cos COSNumber floatValue

Introduction

In this page you can find the example usage for org.apache.pdfbox.cos COSNumber floatValue.

Prototype

public abstract float floatValue();

Source Link

Document

This will get the float value of this number.

Usage

From source file:edu.umass.cs.iesl.pdf2meta.cli.extract.pdfbox.pagedrawer.AppendRectangleToPath.java

License:Apache License

/**
 * process : re : append rectangle to path.
 *
 * @param operator  The operator that is being executed.
 * @param arguments List/*from   w ww .j a v  a  2  s  .c  o m*/
 */
public void process(PDFOperator operator, List<COSBase> arguments) {
    GraphicsAwarePDFStreamEngine drawer = (GraphicsAwarePDFStreamEngine) context;

    COSNumber x = (COSNumber) arguments.get(0);
    COSNumber y = (COSNumber) arguments.get(1);
    COSNumber w = (COSNumber) arguments.get(2);
    COSNumber h = (COSNumber) arguments.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 startCoords = drawer.transformedPoint(x1, y1);
    Point2D endCoords = drawer.transformedPoint(x2, y2);

    float width = (float) (endCoords.getX() - startCoords.getX());
    float height = (float) (endCoords.getY() - startCoords.getY());
    float xStart = (float) startCoords.getX();
    float yStart = (float) startCoords.getY();

    // To ensure that the path is created in the right direction,
    // we have to create it by combining single lines instead of
    // creating a simple rectangle
    GeneralPath path = drawer.getLinePath();
    path.moveTo(xStart, yStart);
    path.lineTo(xStart + width, yStart);
    path.lineTo(xStart + width, yStart + height);
    path.lineTo(xStart, yStart + height);
    path.lineTo(xStart, yStart);
}

From source file:edu.umass.cs.iesl.pdf2meta.cli.extract.pdfbox.pagedrawer.CurveTo.java

License:Apache License

/**
 * process : c : Append curved segment to path.
 * @param operator The operator that is being executed.
 * @param arguments List//from  w w w  . jav a2 s . c o m
 */
public void process(PDFOperator operator, List<COSBase> arguments) {
    GraphicsAwarePDFStreamEngine drawer = (GraphicsAwarePDFStreamEngine) context;

    COSNumber x1 = (COSNumber) arguments.get(0);
    COSNumber y1 = (COSNumber) arguments.get(1);
    COSNumber x2 = (COSNumber) arguments.get(2);
    COSNumber y2 = (COSNumber) arguments.get(3);
    COSNumber x3 = (COSNumber) arguments.get(4);
    COSNumber y3 = (COSNumber) arguments.get(5);

    Point2D point1 = drawer.transformedPoint(x1.floatValue(), y1.floatValue());
    Point2D point2 = drawer.transformedPoint(x2.floatValue(), y2.floatValue());
    Point2D point3 = drawer.transformedPoint(x3.floatValue(), y3.floatValue());

    drawer.getLinePath().curveTo((float) point1.getX(), (float) point1.getY(), (float) point2.getX(),
            (float) point2.getY(), (float) point3.getX(), (float) point3.getY());
}

From source file:edu.umass.cs.iesl.pdf2meta.cli.extract.pdfbox.pagedrawer.CurveToReplicateFinalPoint.java

License:Apache License

/**
 * process : y : Append curved segment to path (final point replicated).
 * @param operator The operator that is being executed.
 * @param arguments List/*  w w  w  .j av a2 s .c om*/
 */
public void process(PDFOperator operator, List<COSBase> arguments) {
    GraphicsAwarePDFStreamEngine drawer = (GraphicsAwarePDFStreamEngine) context;

    COSNumber x1 = (COSNumber) arguments.get(0);
    COSNumber y1 = (COSNumber) arguments.get(1);
    COSNumber x3 = (COSNumber) arguments.get(2);
    COSNumber y3 = (COSNumber) arguments.get(3);

    Point2D point1 = drawer.transformedPoint(x1.floatValue(), y1.floatValue());
    Point2D point3 = drawer.transformedPoint(x3.floatValue(), y3.floatValue());

    drawer.getLinePath().curveTo((float) point1.getX(), (float) point1.getY(), (float) point3.getX(),
            (float) point3.getY(), (float) point3.getX(), (float) point3.getY());
}

From source file:edu.umass.cs.iesl.pdf2meta.cli.extract.pdfbox.pagedrawer.CurveToReplicateInitialPoint.java

License:Apache License

/**
 * process : v : Append curved segment to path (initial point replicated).
 * @param operator The operator that is being executed.
 * @param arguments List//from www .java2  s  .  c  om
 */
public void process(PDFOperator operator, List<COSBase> arguments) {
    GraphicsAwarePDFStreamEngine drawer = (GraphicsAwarePDFStreamEngine) context;

    COSNumber x2 = (COSNumber) arguments.get(0);
    COSNumber y2 = (COSNumber) arguments.get(1);
    COSNumber x3 = (COSNumber) arguments.get(2);
    COSNumber y3 = (COSNumber) arguments.get(3);
    GeneralPath path = drawer.getLinePath();
    Point2D currentPoint = path.getCurrentPoint();

    Point2D point2 = drawer.transformedPoint(x2.floatValue(), y2.floatValue());
    Point2D point3 = drawer.transformedPoint(x3.floatValue(), y3.floatValue());

    drawer.getLinePath().curveTo((float) currentPoint.getX(), (float) currentPoint.getY(),
            (float) point2.getX(), (float) point2.getY(), (float) point3.getX(), (float) point3.getY());
}

From source file:edu.umass.cs.iesl.pdf2meta.cli.extract.pdfbox.pagedrawer.LineTo.java

License:Apache License

/**
 * process : l : Append straight line segment to path.
 * @param operator The operator that is being executed.
 * @param arguments List//from w ww . j  a va2s  .  c om
 */
public void process(PDFOperator operator, List<COSBase> arguments) {
    GraphicsAwarePDFStreamEngine drawer = (GraphicsAwarePDFStreamEngine) context;

    //append straight line segment from the current point to the point.
    COSNumber x = (COSNumber) arguments.get(0);
    COSNumber y = (COSNumber) arguments.get(1);

    Point2D pos = drawer.transformedPoint(x.floatValue(), y.floatValue());
    drawer.getLinePath().lineTo((float) pos.getX(), (float) pos.getY());
}

From source file:edu.umass.cs.iesl.pdf2meta.cli.extract.pdfbox.pagedrawer.MoveTo.java

License:Apache License

/**
 * process : m : Begin new subpath.//from  ww  w  . j  a v  a2 s  .  c om
 * @param operator The operator that is being executed.
 * @param arguments List
 * @throws java.io.IOException If there is an error processing the operator.
 */
public void process(PDFOperator operator, List<COSBase> arguments) throws IOException {
    try {
        GraphicsAwarePDFStreamEngine drawer = (GraphicsAwarePDFStreamEngine) context;
        COSNumber x = (COSNumber) arguments.get(0);
        COSNumber y = (COSNumber) arguments.get(1);
        Point2D pos = drawer.transformedPoint(x.floatValue(), y.floatValue());
        drawer.getLinePath().moveTo((float) pos.getX(), (float) pos.getY());
    } catch (Exception exception) {
        log.warn(exception, exception);
    }
}

From source file:net.padaf.preflight.font.PDFAType3StreamParser.java

License:Apache License

/**
 * This is used to handle an operation.//from w  w w . j  a  v  a 2 s  .c o m
 * 
 * @param operator
 *          The operation to perform.
 * @param arguments
 *          The list of arguments.
 * 
 * @throws IOException
 *           If there is an error processing the operation.
 */
protected void processOperator(PDFOperator operator, List arguments) throws IOException {
    super.processOperator(operator, arguments);
    String operation = operator.getOperation();

    if (operation.equals("BI")) {
        ImageParameters params = operator.getImageParameters();
        image = new PDInlinedImage();
        image.setImageParameters(params);
        image.setImageData(operator.getImageData());

        validImageFilter(operator);
        validImageColorSpace(operator);
    }

    if (operation.equals("d0")) {
        // set glyph with for a type3 font
        // COSNumber horizontalWidth = (COSNumber)arguments.get( 0 );
        // COSNumber verticalWidth = (COSNumber)arguments.get( 1 );
        // width = horizontalWidth.intValue();
        // height = verticalWidth.intValue();

        checkType3FirstOperator(arguments);

    } else if (operation.equals("d1")) {
        // set glyph with and bounding box for type 3 font
        // COSNumber horizontalWidth = (COSNumber)arguments.get( 0 );
        // COSNumber verticalWidth = (COSNumber)arguments.get( 1 );
        COSNumber llx = (COSNumber) arguments.get(2);
        COSNumber lly = (COSNumber) arguments.get(3);
        COSNumber urx = (COSNumber) arguments.get(4);
        COSNumber ury = (COSNumber) arguments.get(5);

        // width = horizontalWidth.intValue();
        // height = verticalWidth.intValue();
        box = new BoundingBox();
        box.setLowerLeftX(llx.floatValue());
        box.setLowerLeftY(lly.floatValue());
        box.setUpperRightX(urx.floatValue());
        box.setUpperRightY(ury.floatValue());

        checkType3FirstOperator(arguments);
    }

    checkColorOperators(operation);
    validRenderingIntent(operator, arguments);
    checkSetColorSpaceOperators(operator, arguments);
    validNumberOfGraphicStates(operator);
    firstOperator = false;
}