List of usage examples for org.apache.pdfbox.cos COSNumber floatValue
public abstract float floatValue();
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; }