On 2016-09-09 19:49 ( 0200), John Hewson <[email protected]> wrote: > > > On 7 Sep 2016, at 08:02, Markus Barbey <[email protected]> wrote:> > > > > > Hello there,> > > > > > when using> > > > > > PDFRender#renderPageToGraphics(int, Graphics2D)> > > > > > you can set an AffineTransform (e.G. scale and translate) in the Graphics2D > > instance which results in a partially rendered PDF page. Nevertheless each > > resource gets rendered by the renderer - even if it is not visible in the > > resulting BufferedImage. > > > > > > For example: PDF original size 800x600> > > > > > --------------------------------------------> > > > > > BufferedImage image = new BufferedImage (400, 200, > > BufferedImage.TYPE_INT_RGB);> > > Graphics2D graphics = image.createGraphics ();> > > > > > AffineTransform tx = new AffineTransform ();> > > tx.translate (200,300);> > > tx.scale (2, 2);> > > graphics.setTransform (tx);> > > > > > renderer.renderPageToGraphics (0, graphics);> > > graphics.dispose ();> > > > > > --------------------------------------------> > > > > > When you have some large images (e.G. high DPI logo and charts) on a single > > PDF page there could be a great performance boost for partial rendering > > (that is mainly required in PDF viewer controls), if images, that are not > > going to be visible in the resulting BufferedImage skipped while drawing. > > Nowadays they are converted to a BufferedImage (which can last remarkable > > time) and drawn to the Graphics2D. Due to size and clipping configuration > > they are not visible in the resulting BufferedImage.> > > I would recommend caching the BufferedImage for an entire rendered page > instead and then having your PDF viewer display a portion of that image.> > > — John> > > > > > > > > > Cu> > > Markus> > > > > > ---------------------------------------------------------------------> > > To unsubscribe, e-mail: [email protected]> > > For additional commands, e-mail: [email protected]> > > > > > > ---------------------------------------------------------------------> > To unsubscribe, e-mail: [email protected]> > For additional commands, e-mail: [email protected]> > >
Hello John, caching the whole page as BufferedImage may need a lot of memory (think about high DPI displays combined with a scaled PDF) ;-) The massive performance loss of partial rendering has been caused by the 2.0.2 implementation. As the 2.0.3 SNAPSHOT provides some impressive performance improvements, this issue isn't almost noticeable in 2.0.3 any longer. Markus --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

