Class ExtractImages.ImageGraphicsEngine

    • Constructor Detail

      • ImageGraphicsEngine

        protected ImageGraphicsEngine​(PDPage page)
    • Method Detail

      • run

        public void run()
                 throws java.io.IOException
        Throws:
        java.io.IOException
      • drawImage

        public void drawImage​(PDImage pdImage)
                       throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Draw the image.
        Specified by:
        drawImage in class PDFGraphicsStreamEngine
        Parameters:
        pdImage - The image to draw.
        Throws:
        java.io.IOException - if something went wrong.
      • appendRectangle

        public void appendRectangle​(java.awt.geom.Point2D p0,
                                    java.awt.geom.Point2D p1,
                                    java.awt.geom.Point2D p2,
                                    java.awt.geom.Point2D p3)
                             throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Append a rectangle to the current path.
        Specified by:
        appendRectangle in class PDFGraphicsStreamEngine
        Parameters:
        p0 - point P0 of the rectangle.
        p1 - point P1 of the rectangle.
        p2 - point P2 of the rectangle.
        p3 - point P3 of the rectangle.
        Throws:
        java.io.IOException - if something went wrong.
      • clip

        public void clip​(int windingRule)
                  throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Modify the current clipping path by intersecting it with the current path. The clipping path will not be updated until the succeeding painting operator is called.
        Specified by:
        clip in class PDFGraphicsStreamEngine
        Parameters:
        windingRule - The winding rule which will be used for clipping.
        Throws:
        java.io.IOException - if something went wrong.
      • moveTo

        public void moveTo​(float x,
                           float y)
                    throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Starts a new path at (x,y).
        Specified by:
        moveTo in class PDFGraphicsStreamEngine
        Parameters:
        x - x-coordinate of the target point.
        y - y-coordinate of the target point.
        Throws:
        java.io.IOException - if something went wrong.
      • lineTo

        public void lineTo​(float x,
                           float y)
                    throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Draws a line from the current point to (x,y).
        Specified by:
        lineTo in class PDFGraphicsStreamEngine
        Parameters:
        x - x-coordinate of the end point of the line.
        y - y-coordinate of the end point of the line.
        Throws:
        java.io.IOException - if something went wrong.
      • curveTo

        public void curveTo​(float x1,
                            float y1,
                            float x2,
                            float y2,
                            float x3,
                            float y3)
                     throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Draws a curve from the current point to (x3,y3) using (x1,y1) and (x2,y2) as control points.
        Specified by:
        curveTo in class PDFGraphicsStreamEngine
        Parameters:
        x1 - x-coordinate of the first control point.
        y1 - y-coordinate of the first control point.
        x2 - x-coordinate of the second control point.
        y2 - y-coordinate of the second control point.
        x3 - x-coordinate of the end point of the curve.
        y3 - y-coordinate of the end point of the curve.
        Throws:
        java.io.IOException - if something went wrong.
      • getCurrentPoint

        public java.awt.geom.Point2D getCurrentPoint()
                                              throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Returns the current point of the current path.
        Specified by:
        getCurrentPoint in class PDFGraphicsStreamEngine
        Returns:
        the current point.
        Throws:
        java.io.IOException - if something went wrong.
      • endPath

        public void endPath()
                     throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Ends the current path without filling or stroking it. The clipping path is updated here.
        Specified by:
        endPath in class PDFGraphicsStreamEngine
        Throws:
        java.io.IOException - if something went wrong.
      • showGlyph

        protected void showGlyph​(Matrix textRenderingMatrix,
                                 PDFont font,
                                 int code,
                                 Vector displacement)
                          throws java.io.IOException
        Description copied from class: PDFStreamEngine
        Called when a glyph is to be processed. This method is intended for overriding in subclasses, the default implementation does nothing.
        Overrides:
        showGlyph in class PDFStreamEngine
        Parameters:
        textRenderingMatrix - the current text rendering matrix, Trm
        font - the current font
        code - internal PDF character code for the glyph
        displacement - the displacement (i.e. advance) of the glyph in text space
        Throws:
        java.io.IOException - if the glyph cannot be processed
      • fillPath

        public void fillPath​(int windingRule)
                      throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Fill the path.
        Specified by:
        fillPath in class PDFGraphicsStreamEngine
        Parameters:
        windingRule - The winding rule this path will use.
        Throws:
        java.io.IOException - if something went wrong.
      • fillAndStrokePath

        public void fillAndStrokePath​(int windingRule)
                               throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Fills and then strokes the path.
        Specified by:
        fillAndStrokePath in class PDFGraphicsStreamEngine
        Parameters:
        windingRule - The winding rule this path will use.
        Throws:
        java.io.IOException - if something went wrong.
      • shadingFill

        public void shadingFill​(COSName shadingName)
                         throws java.io.IOException
        Description copied from class: PDFGraphicsStreamEngine
        Fill with Shading.
        Specified by:
        shadingFill in class PDFGraphicsStreamEngine
        Parameters:
        shadingName - The name of the Shading Dictionary to use for this fill instruction.
        Throws:
        java.io.IOException - if something went wrong.
      • processColor

        private void processColor​(PDColor color)
                           throws java.io.IOException
        Throws:
        java.io.IOException
      • write2file

        private void write2file​(PDImage pdImage,
                                java.lang.String prefix,
                                boolean directJPEG,
                                boolean noColorConvert)
                         throws java.io.IOException
        Writes the image to a file with the filename prefix + an appropriate suffix, like "Image.jpg". The suffix is automatically set depending on the image compression in the PDF.
        Parameters:
        pdImage - the image.
        prefix - the filename prefix.
        directJPEG - if true, force saving JPEG/JPX streams as they are in the PDF file.
        noColorConvert - if true, images are extracted with their original colorspace if possible.
        Throws:
        java.io.IOException - When something is wrong with the corresponding file.
      • hasMasks

        private boolean hasMasks​(PDImage pdImage)
                          throws java.io.IOException
        Throws:
        java.io.IOException