OutOfMemoryError when running PDF Report

Hi, I am getting an OutOfMemoryError (Java heap space) when trying to run a report as a PDF. The same report runs fine when using HTML. Perhaps YARG is loading all the text and images into memory before writing. I could increase memory but I wish I didn’t have to. Is there any way around this?

Stack trace:

java.lang.OutOfMemoryError: Java heap space
	at com.lowagie.text.pdf.codec.PngImage.decodeIdat(Unknown Source) ~[itext-2.1.7.jar:na]
	at com.lowagie.text.pdf.codec.PngImage.getImage(Unknown Source) ~[itext-2.1.7.jar:na]
	at com.lowagie.text.pdf.codec.PngImage.getImage(Unknown Source) ~[itext-2.1.7.jar:na]
	at com.lowagie.text.pdf.codec.PngImage.getImage(Unknown Source) ~[itext-2.1.7.jar:na]
	at com.lowagie.text.Image.getInstance(Unknown Source) ~[itext-2.1.7.jar:na]
	at org.xhtmlrenderer.pdf.ITextUserAgent.getImageResource(ITextUserAgent.java:90) ~[flying-saucer-pdf-9.1.7.jar:na]
	at com.haulmont.reports.libintegration.CubaHtmlFormatter$ResourcesITextUserAgentCallback.getImageResource(CubaHtmlFormatter.java:196) ~[reports-core-6.10.8.jar:6.10.8]
	at org.xhtmlrenderer.pdf.ITextReplacedElementFactory.createReplacedElement(ITextReplacedElementFactory.java:59) ~[flying-saucer-pdf-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.calcDimensions(BlockBox.java:716) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.calcDimensions(BlockBox.java:666) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:809) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:776) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.InlineBoxing.layoutInlineBlockContent(InlineBoxing.java:421) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.InlineBoxing.layoutContent(InlineBoxing.java:318) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layoutInlineChildren(BlockBox.java:983) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.AnonymousBlockBox.layout(AnonymousBlockBox.java:47) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutBlockChild0(BlockBoxing.java:321) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutBlockChild(BlockBoxing.java:299) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutContent(BlockBoxing.java:90) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layoutChildren(BlockBox.java:967) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:847) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:776) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutBlockChild0(BlockBoxing.java:321) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutBlockChild(BlockBoxing.java:299) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutContent(BlockBoxing.java:90) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layoutChildren(BlockBox.java:967) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:847) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layout(BlockBox.java:776) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutBlockChild0(BlockBoxing.java:321) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutBlockChild(BlockBoxing.java:299) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.layout.BlockBoxing.layoutContent(BlockBoxing.java:90) ~[flying-saucer-core-9.1.7.jar:na]
	at org.xhtmlrenderer.render.BlockBox.layoutChildren(BlockBox.java:967) ~[flying-saucer-core-9.1.7.jar:na]