Class PDFRenderer


  • public class PDFRenderer
    extends Object
    Renders a PDF document to a Bitmap. This class may be overridden in order to perform custom rendering.
    • Field Detail

    • Constructor Detail

      • PDFRenderer

        public PDFRenderer​(PDDocument document)
        Creates a new PDFRenderer.
        Parameters:
        document - the document to render
    • Method Detail

      • getAnnotationsFilter

        public AnnotationFilter getAnnotationsFilter()
        Return the AnnotationFilter.
        Returns:
        the AnnotationFilter
      • setAnnotationsFilter

        public void setAnnotationsFilter​(AnnotationFilter annotationsFilter)
        Set the AnnotationFilter.

        Allows to only render annotation accepted by the filter.

        Parameters:
        annotationsFilter - the AnnotationFilter
      • isSubsamplingAllowed

        public boolean isSubsamplingAllowed()
        Value indicating if the renderer is allowed to subsample images before drawing, according to image dimensions and requested scale. Subsampling may be faster and less memory-intensive in some cases, but it may also lead to loss of quality, especially in images with high spatial frequency.
        Returns:
        true if subsampling of images is allowed, false otherwise.
      • setSubsamplingAllowed

        public void setSubsamplingAllowed​(boolean subsamplingAllowed)
        Sets a value instructing the renderer whether it is allowed to subsample images before drawing. The subsampling frequency is determined according to image size and requested scale. Subsampling may be faster and less memory-intensive in some cases, but it may also lead to loss of quality, especially in images with high spatial frequency.
        Parameters:
        subsamplingAllowed - The new value indicating if subsampling is allowed.
      • getDefaultDestination

        public RenderDestination getDefaultDestination()
        Returns:
        the defaultDestination
      • setDefaultDestination

        public void setDefaultDestination​(RenderDestination defaultDestination)
        Parameters:
        defaultDestination - the defaultDestination to set
      • getImageDownscalingOptimizationThreshold

        public float getImageDownscalingOptimizationThreshold()
        Returns:
        get the image downscaling optimization threshold. See getImageDownscalingOptimizationThreshold() for details.
      • setImageDownscalingOptimizationThreshold

        public void setImageDownscalingOptimizationThreshold​(float imageDownscalingOptimizationThreshold)
        Set the image downscaling optimization threshold. This must be a value between 0 and 1. When rendering downscaled images and rendering hints are set to bicubic+quality and the scaling is smaller than the threshold, a more quality-optimized but slower method will be used. The default is 0.5 which is a good compromise.
        Parameters:
        imageDownscalingOptimizationThreshold -
      • renderImage

        public Bitmap renderImage​(int pageIndex)
                           throws IOException
        Returns the given page as an RGB image at 72 DPI
        Parameters:
        pageIndex - the zero-based index of the page to be converted.
        Returns:
        the rendered page image
        Throws:
        IOException - if the PDF cannot be read
      • renderImage

        public Bitmap renderImage​(int pageIndex,
                                  float scale)
                           throws IOException
        Returns the given page as an RGB image at the given scale. A scale of 1 will render at 72 DPI.
        Parameters:
        pageIndex - the zero-based index of the page to be converted
        scale - the scaling factor, where 1 = 72 DPI
        Returns:
        the rendered page image
        Throws:
        IOException - if the PDF cannot be read
      • renderImageWithDPI

        public Bitmap renderImageWithDPI​(int pageIndex,
                                         float dpi)
                                  throws IOException
        Returns the given page as an RGB image at the given DPI.
        Parameters:
        pageIndex - the zero-based index of the page to be converted
        dpi - the DPI (dots per inch) to render at
        Returns:
        the rendered page image
        Throws:
        IOException - if the PDF cannot be read
      • renderImageWithDPI

        public Bitmap renderImageWithDPI​(int pageIndex,
                                         float dpi,
                                         ImageType imageType)
                                  throws IOException
        Returns the given page as an RGB image at the given DPI.
        Parameters:
        pageIndex - the zero-based index of the page to be converted
        dpi - the DPI (dots per inch) to render at
        imageType - the type of image to return
        Returns:
        the rendered page image
        Throws:
        IOException - if the PDF cannot be read
      • renderImage

        public Bitmap renderImage​(int pageIndex,
                                  float scale,
                                  ImageType imageType)
                           throws IOException
        Returns the given page as an RGB or ARGB image at the given scale.
        Parameters:
        pageIndex - the zero-based index of the page to be converted
        scale - the scaling factor, where 1 = 72 DPI
        imageType - the type of image to return
        Returns:
        the rendered page image
        Throws:
        IOException - if the PDF cannot be read
      • renderImage

        public Bitmap renderImage​(int pageIndex,
                                  float scale,
                                  ImageType imageType,
                                  RenderDestination destination)
                           throws IOException
        Returns the given page as an RGB or ARGB image at the given scale.
        Parameters:
        pageIndex - the zero-based index of the page to be converted
        scale - the scaling factor, where 1 = 72 DPI
        imageType - the type of image to return
        destination - controlling visibility of optional content groups
        Returns:
        the rendered page image
        Throws:
        IOException - if the PDF cannot be read
      • renderPageToGraphics

        public void renderPageToGraphics​(int pageIndex,
                                         Paint paint,
                                         Canvas canvas,
                                         float scale)
                                  throws IOException
        Renders a given page to a Canvas instance.

        Read renderPageToGraphics(int, Graphics2D, float, float, RenderDestination) before using this.

        Parameters:
        pageIndex - the zero-based index of the page to be converted
        paint - the Paint that will be used to draw the page
        canvas - the Canvas on which to draw the page
        scale - the scaling factor, where 1 = 72 DPI
        Throws:
        IOException - if the PDF cannot be read
      • renderPageToGraphics

        public void renderPageToGraphics​(int pageIndex,
                                         Paint paint,
                                         Canvas canvas,
                                         float scaleX,
                                         float scaleY)
                                  throws IOException
        Renders a given page to a Canvas instance.

        Read renderPageToGraphics(int, Graphics2D, float, float, RenderDestination) before using this.

        Parameters:
        pageIndex - the zero-based index of the page to be converted
        paint - the Paint that will be used to draw the page
        canvas - the Canvas on which to draw the page
        scaleX - the scale to draw the page at for the x-axis, where 1 = 72 DPI
        scaleY - the scale to draw the page at for the y-axis, where 1 = 72 DPI
        Throws:
        IOException - if the PDF cannot be read
      • renderPageToGraphics

        public void renderPageToGraphics​(int pageIndex,
                                         Paint paint,
                                         Canvas canvas,
                                         float scaleX,
                                         float scaleY,
                                         RenderDestination destination)
                                  throws IOException
        Renders a given page to a Canvas instance.
        Parameters:
        pageIndex - the zero-based index of the page to be converted
        paint - the Paint that will be used to draw the page
        canvas - the Canvas on which to draw the page
        scaleX - the scale to draw the page at for the x-axis, where 1 = 72 DPI
        scaleY - the scale to draw the page at for the y-axis, where 1 = 72 DPI
        destination - controlling visibility of optional content groups
        Throws:
        IOException - if the PDF cannot be read
      • isGroupEnabled

        public boolean isGroupEnabled​(PDOptionalContentGroup group)
        Indicates whether an optional content group is enabled.
        Parameters:
        group - the group
        Returns:
        true if the group is enabled