Class ImageRenderer


  • public class ImageRenderer
    extends java.lang.Object

    ImageRenderer supports rendering of XHTML documents to image formats, writing out the generated image to an outputstream or a file in a given image formate. There are two static utility methods, one for rendering a URL, #renderToImage(String,String) and one for rendering a File, #renderToImage(java.io.File,String)

    You can use this utility from the command line by passing in the URL or file location as first parameter, and output file path as second parameter:

     java -cp %classpath% org.xhtmlrenderer.simple.ImageRenderer  
     

    If the second parameters is not provided, a PNG-format image will be created in the same directory as the source (if source is a file) or as a temp file in the standard temp directory; the output file name will be printed out in either case.

    Image width must always be supplied; height is determined automatically.

    Author:
    Pete Brant, Patrick Wright
    See Also:
    PDFRenderer
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static int DEFAULT_WIDTH  
    • Constructor Summary

      Constructors 
      Constructor Description
      ImageRenderer()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void main​(java.lang.String[] args)
      Renders a file or URL to an image file.
      static java.awt.image.BufferedImage renderImageToOutput​(java.lang.String url, FSImageWriter fsw, java.lang.String path, int width)
      Renders a document at a given URL and writes it out using the FSImageWriter provided (e.g.
      static java.awt.image.BufferedImage renderToImage​(java.io.File inFile, java.lang.String path, int width)
      Renders the XML file as an image file at the target location.
      static java.awt.image.BufferedImage renderToImage​(java.io.File inFile, java.lang.String path, int width, int height)
      Renders the XML file as an image file at the target location.
      static java.awt.image.BufferedImage renderToImage​(java.lang.String url, java.lang.String path, int width)
      Renders the XML file at the given URL as an image file at the target location.
      static java.awt.image.BufferedImage renderToImage​(java.lang.String url, java.lang.String path, int width, int height)
      Renders the XML file at the given URL as an image file at the target location.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ImageRenderer

        public ImageRenderer()
    • Method Detail

      • renderToImage

        public static java.awt.image.BufferedImage renderToImage​(java.lang.String url,
                                                                 java.lang.String path,
                                                                 int width)
                                                          throws java.io.IOException
        Renders the XML file at the given URL as an image file at the target location. Width must be provided, height is determined automatically based on content and CSS.
        Parameters:
        url - url for the XML file to render
        path - path to the PDF file to create
        width - Width in pixels to which the document should be constrained.
        Throws:
        java.io.IOException - if the input URL, or output path location is invalid
      • renderToImage

        public static java.awt.image.BufferedImage renderToImage​(java.lang.String url,
                                                                 java.lang.String path,
                                                                 int width,
                                                                 int height)
                                                          throws java.io.IOException
        Renders the XML file at the given URL as an image file at the target location.
        Parameters:
        url - url for the XML file to render
        path - path to the PDF file to create
        width - Width in pixels to which the document should be constrained.
        height - Height in pixels to which the document should be constrained.
        Throws:
        java.io.IOException - if the input URL, or output path location is invalid
      • renderToImage

        public static java.awt.image.BufferedImage renderToImage​(java.io.File inFile,
                                                                 java.lang.String path,
                                                                 int width)
                                                          throws java.io.IOException
        Renders the XML file as an image file at the target location. Width must be provided, height is determined automatically based on content and CSS.
        Parameters:
        inFile - XML file to render
        path - path to the image file to create
        width - Width in pixels to which the document should be constrained.
        Throws:
        java.io.IOException - if the input URL, or output path location is invalid
      • renderToImage

        public static java.awt.image.BufferedImage renderToImage​(java.io.File inFile,
                                                                 java.lang.String path,
                                                                 int width,
                                                                 int height)
                                                          throws java.io.IOException
        Renders the XML file as an image file at the target location. Width must be provided, height is determined automatically based on content and CSS.
        Parameters:
        inFile - XML file to render
        path - path to the image file to create
        width - Width in pixels to which the document should be constrained.
        height - Height in pixels to which the document should be constrained.
        Throws:
        java.io.IOException - if the input URL, or output path location is invalid
      • renderImageToOutput

        public static java.awt.image.BufferedImage renderImageToOutput​(java.lang.String url,
                                                                       FSImageWriter fsw,
                                                                       java.lang.String path,
                                                                       int width)
                                                                throws java.io.IOException
        Renders a document at a given URL and writes it out using the FSImageWriter provided (e.g. to a file or outputstream).
        Parameters:
        url -
        fsw -
        path -
        width -
        Throws:
        java.io.IOException
      • main

        public static void main​(java.lang.String[] args)
                         throws java.io.IOException
        Renders a file or URL to an image file. Command line use: first argument is URL or file path, second argument is path to image file to generate.
        Parameters:
        args - see desc
        Throws:
        java.io.IOException - if source could not be read, or if image path is invalid