Package org.xhtmlrenderer.simple
Class Graphics2DRenderer
java.lang.Object
org.xhtmlrenderer.simple.Graphics2DRenderer
Graphics2DRenderer supports headless rendering of XHTML documents, and is useful for rendering documents directly to images.
Graphics2DRenderer supports the XHTMLPanel.setDocument(Document)
,
RootPanel.doLayout()
, and
methods from
invalid reference
XHTMLPanel#render()
XHTMLPanel
, as well as easy-to-use static utility methods.
For example, to render a document in an image that is 600 pixels wide use the
renderToImageAutoSize(String,int,int)
method like this:
BufferedImage img = Graphics2DRenderer.renderToImage( "test.xhtml", width);
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Dimension
Dimensions of the image to render, in pixels.private final XHTMLPanel
The panel we are using to render the document. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionReturns the size image needed to render the document without anything going off the side.getPanel()
Returns the panel used internally for rendering.Gets the SharedContext for layout and rendering.void
layout
(Graphics2D g2, Dimension dim) Lay out the document with the specified dimensions, without rendering.void
render
(Graphics2D g2) Renders the document to the given canvas.static BufferedImage
renderToImage
(String url, int width, int height) A static utility method to automatically create an image from a document; the image supports transparency.static BufferedImage
renderToImage
(String url, int width, int height, int bufferedImageType) A static utility method to automatically create an image from a document.static BufferedImage
renderToImageAutoSize
(String url, int width) A static utility method to automatically create an image from a document, where height is determined based on document content.static BufferedImage
renderToImageAutoSize
(String url, int width, int bufferedImageType) A static utility method to automatically create an image from a document, where height is determined based on document content.void
setDocument
(String url) Set the document to be rendered, lays it out, and renders it.void
setDocument
(Document doc, String base_url) Sets the document to render, lays it out, and renders it.void
Sets the SharedContext for rendering.
-
Field Details
-
panel
The panel we are using to render the document. -
dim
Dimensions of the image to render, in pixels.
-
-
Constructor Details
-
Graphics2DRenderer
public Graphics2DRenderer()Creates a new renderer with no document specified.
-
-
Method Details
-
layout
Lay out the document with the specified dimensions, without rendering.- Parameters:
g2
- the canvas to layout on.dim
- dimensions of the container for the document
-
render
Renders the document to the given canvas. Call layout() first.- Parameters:
g2
- Canvas to render to.
-
setDocument
Set the document to be rendered, lays it out, and renders it.- Parameters:
url
- the URL for the document to render.
-
setDocument
Sets the document to render, lays it out, and renders it.- Parameters:
doc
- the Document to renderbase_url
- base URL for relative links within the Document.
-
getMinimumSize
Returns the size image needed to render the document without anything going off the side. Could be different from the dimensions passed into layout because of text that couldn't break or a table that's set to be too big.- Returns:
- A rectangle sized to the minimum size required for the document.
-
getPanel
Returns the panel used internally for rendering. -
renderToImage
A static utility method to automatically create an image from a document; the image supports transparency. To render an image that does not support transparency, use the overloaded version of this methodrenderToImage(String, int, int, int)
.- Parameters:
url
- URL for the document to render.width
- Width in pixels of the layout containerheight
- Height in pixels of the layout container- Returns:
- Returns an Image containing the rendered document.
-
renderToImage
A static utility method to automatically create an image from a document. The buffered image type must be specified.- Parameters:
url
- URL for the document to render.width
- Width in pixels of the layout containerheight
- Height in pixels of the layout containerbufferedImageType
- On of the pre-defined image types for a java.awt.image.BufferedImage, such as TYPE_INT_ARGB or TYPE_INT_RGB.- Returns:
- Returns an Image containing the rendered document.
-
renderToImageAutoSize
A static utility method to automatically create an image from a document, where height is determined based on document content. To estimate a size before rendering, usesetDocument(String)
and thengetMinimumSize()
. The rendered image supports transparency.- Parameters:
url
- java.net.URL for the document to render.width
- Width in pixels of the layout container- Returns:
- Returns java.awt.Image containing the rendered document.
-
renderToImageAutoSize
A static utility method to automatically create an image from a document, where height is determined based on document content. To estimate a size before rendering, usesetDocument(String)
and thengetMinimumSize()
.- Parameters:
url
- java.net.URL for the document to render.width
- Width in pixels of the layout containerbufferedImageType
- On of the pre-defined image types for a java.awt.image.BufferedImage, such as TYPE_INT_ARGB or TYPE_INT_RGB.- Returns:
- Returns java.awt.Image containing the rendered document.
-