/** * A static utility method to automatically create an image from a * document. The buffered image type must be specified. * * @param url URL for the document to render. * @param width Width in pixels of the layout container * @param height Height in pixels of the layout container * @param bufferedImageType On of the pre-defined image types for a java.awt.image.BufferedImage, such * as TYPE_INT_ARGB or TYPE_INT_RGB. * @return Returns an Image containing the rendered document. */ public static BufferedImage renderToImage(String url, int width, int height, int bufferedImageType) { Graphics2DRenderer g2r = new Graphics2DRenderer(); g2r.setDocument(url); Dimension dim = new Dimension(width, height); BufferedImage buff = new BufferedImage((int) dim.getWidth(), (int) dim.getHeight(), bufferedImageType); Graphics2D g = (Graphics2D) buff.getGraphics(); g2r.layout(g, dim); g2r.render(g); g.dispose(); return buff; }
/** * A static utility method to automatically create an image from a * document. The buffered image type must be specified. * * @param url URL for the document to render. * @param width Width in pixels of the layout container * @param height Height in pixels of the layout container * @param bufferedImageType On of the pre-defined image types for a java.awt.image.BufferedImage, such * as TYPE_INT_ARGB or TYPE_INT_RGB. * @return Returns an Image containing the rendered document. */ public static BufferedImage renderToImage(String url, int width, int height, int bufferedImageType) { Graphics2DRenderer g2r = new Graphics2DRenderer(); g2r.setDocument(url); Dimension dim = new Dimension(width, height); BufferedImage buff = new BufferedImage((int) dim.getWidth(), (int) dim.getHeight(), bufferedImageType); Graphics2D g = (Graphics2D) buff.getGraphics(); g2r.layout(g, dim); g2r.render(g); g.dispose(); return buff; }
g2r.setDocument(url); Dimension dim = new Dimension(width, 1000);
g2r.setDocument(url); Dimension dim = new Dimension(width, 1000);
Graphics2DRenderer gr = new Graphics2DRenderer(); gr.setDocument(doc, uri); gr.layout(g2, dim); Rectangle minSize = r.getMinimumSize(); //create new image with this size gr.render(newG2);
@Override public BufferedImage getBufferedImage(int imageType) { final Document document = documentHolder.getDocument(); if (bufferedImage != null || cacheImageType != imageType || cacheDocument != document) { cacheImageType = imageType; cacheDocument = document; Graphics2DRenderer renderer = new Graphics2DRenderer(); renderer.setDocument(document, document.getDocumentURI()); Dimension dimension = new Dimension(width, height); bufferedImage = new BufferedImage(width, height, imageType); if (autoHeight) { // do layout with temp buffer Graphics2D graphics2D = (Graphics2D) bufferedImage.getGraphics(); renderer.layout(graphics2D, new Dimension(width, height)); graphics2D.dispose(); Rectangle size = renderer.getMinimumSize(); final int autoWidth = (int) size.getWidth(); final int autoHeight = (int) size.getHeight(); bufferedImage = new BufferedImage(autoWidth, autoHeight, imageType); dimension = new Dimension(autoWidth, autoHeight); } Graphics2D graphics2D = (Graphics2D) bufferedImage.getGraphics(); renderer.layout(graphics2D, dimension); renderer.render(graphics2D); rootBox = renderer.getPanel().getRootBox(); graphics2D.dispose(); } return bufferedImage; }
int height = options.getH() == null ? 1024 : options.getH(); Graphics2DRenderer renderer = new Graphics2DRenderer(); renderer.setDocument(options.getDocument(), options.getDocument().getDocumentURI());
int height = options.getH() == null ? 1024 : options.getH(); Graphics2DRenderer renderer = new Graphics2DRenderer(); renderer.setDocument(options.getDocument(), options.getDocument().getDocumentURI());
g2r.getSharedContext().getTextRenderer().setSmoothingThreshold(0); g2r.getSharedContext().setUserAgentCallback(panel.getSharedContext().getUserAgentCallback()); g2r.setDocument(panel.getDocument(), panel.getSharedContext().getUac().getBaseURL()); g2r.getSharedContext().setReplacedElementFactory(panel.getSharedContext().getReplacedElementFactory()); g2r.layout(g2, null);
g2r.getSharedContext().getTextRenderer().setSmoothingThreshold(0); g2r.getSharedContext().setUserAgentCallback(panel.getSharedContext().getUserAgentCallback()); g2r.setDocument(panel.getDocument(), panel.getSharedContext().getUac().getBaseURL()); g2r.getSharedContext().setReplacedElementFactory(panel.getSharedContext().getReplacedElementFactory()); g2r.layout(g2, null);