Author: ssteiner Date: Mon Sep 25 13:42:23 2017 New Revision: 1809628 URL: http://svn.apache.org/viewvc?rev=1809628&view=rev Log: FOP-2740: PDF to PostScript tiling pattern error in Acrobat
Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererOption.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRenderingUtil.java xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/ResourceHandler.java xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSDocumentHandler.java Mon Sep 25 13:42:23 2017 @@ -163,6 +163,7 @@ public class PSDocumentHandler extends A //Setup for PostScript generation this.gen = new FOPPSGeneratorImpl(out); this.gen.setPSLevel(psUtil.getLanguageLevel()); + this.gen.setAcrobatDownsample(psUtil.isAcrobatDownsample()); this.currentPageNumber = 0; this.documentBoundingBox = new Rectangle2D.Double(); @@ -294,7 +295,7 @@ public class PSDocumentHandler extends A ResourceHandler handler = new ResourceHandler(getUserAgent(), eventProducer, this.fontInfo, resTracker, this.formResources); handler.process(in, this.outputStream, - this.currentPageNumber, this.documentBoundingBox); + this.currentPageNumber, this.documentBoundingBox, psUtil); this.outputStream.flush(); } catch (DSCException e) { throw new RuntimeException(e.getMessage()); Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfig.java Mon Sep 25 13:42:23 2017 @@ -36,6 +36,7 @@ import org.apache.fop.fonts.FontEventAda import org.apache.fop.render.RendererConfig; import org.apache.fop.util.LogUtil; +import static org.apache.fop.render.ps.PSRendererOption.ACROBAT_DOWNSAMPLE; import static org.apache.fop.render.ps.PSRendererOption.AUTO_ROTATE_LANDSCAPE; import static org.apache.fop.render.ps.PSRendererOption.DSC_COMPLIANT; import static org.apache.fop.render.ps.PSRendererOption.LANGUAGE_LEVEL; @@ -85,6 +86,10 @@ public final class PSRendererConfig impl return (PSRenderingMode) params.get(RENDERING_MODE); } + public Boolean isAcrobatDownsample() { + return (Boolean) params.get(ACROBAT_DOWNSAMPLE); + } + /** * The PostScript renderer configuration data parser. */ @@ -124,6 +129,7 @@ public final class PSRendererConfig impl setBoolConfigParam(cfg, OPTIMIZE_RESOURCES); setBoolConfigParam(cfg, SAFE_SET_PAGE_DEVICE); setBoolConfigParam(cfg, DSC_COMPLIANT); + setBoolConfigParam(cfg, ACROBAT_DOWNSAMPLE); Configuration child = cfg.getChild("rendering"); if (child != null) { config.params.put(RENDERING_MODE, Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererConfigurator.java Mon Sep 25 13:42:23 2017 @@ -58,6 +58,9 @@ public class PSRendererConfigurator exte if (psConfig.getRenderingMode() != null) { psUtil.setRenderingMode(psConfig.getRenderingMode()); } + if (psConfig.isAcrobatDownsample() != null) { + psUtil.setAcrobatDownsample(psConfig.isAcrobatDownsample()); + } } @Override Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererOption.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererOption.java?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererOption.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRendererOption.java Mon Sep 25 13:42:23 2017 @@ -37,7 +37,8 @@ public enum PSRendererOption implements SAFE_SET_PAGE_DEVICE("safe-set-page-device", false), /** Indicates whether the PostScript output should be DSC compliant, default: true*/ DSC_COMPLIANT("dsc-compliant", true), - RENDERING_MODE("rendering", PSRenderingMode.QUALITY); + RENDERING_MODE("rendering", PSRenderingMode.QUALITY), + ACROBAT_DOWNSAMPLE("acrobat-downsample", false); private final String name; private final Object defaultValue; Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRenderingUtil.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRenderingUtil.java?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRenderingUtil.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/PSRenderingUtil.java Mon Sep 25 13:42:23 2017 @@ -33,6 +33,7 @@ import org.apache.fop.render.ps.extensio import org.apache.fop.render.ps.extensions.PSExtensionAttachment; import org.apache.fop.render.ps.extensions.PSSetupCode; +import static org.apache.fop.render.ps.PSRendererOption.ACROBAT_DOWNSAMPLE; import static org.apache.fop.render.ps.PSRendererOption.AUTO_ROTATE_LANDSCAPE; import static org.apache.fop.render.ps.PSRendererOption.LANGUAGE_LEVEL; import static org.apache.fop.render.ps.PSRendererOption.OPTIMIZE_RESOURCES; @@ -56,6 +57,7 @@ public class PSRenderingUtil { private boolean autoRotateLandscape; private int languageLevel = PSGenerator.DEFAULT_LANGUAGE_LEVEL; + private boolean acrobatDownsample; /** Determines whether the PS file is generated in two passes to minimize file size */ private boolean optimizeResources; @@ -86,6 +88,10 @@ public class PSRenderingUtil { if (obj != null) { setOptimizeResources(booleanValueOf(obj)); } + obj = userAgent.getRendererOptions().get(ACROBAT_DOWNSAMPLE.getName()); + if (obj != null) { + setAcrobatDownsample(booleanValueOf(obj)); + } } private boolean booleanValueOf(Object obj) { @@ -281,6 +287,14 @@ public class PSRenderingUtil { return languageLevel; } + public void setAcrobatDownsample(boolean b) { + acrobatDownsample = b; + } + + public boolean isAcrobatDownsample() { + return acrobatDownsample; + } + /** * Controls whether PostScript resources are optimized in a second pass over the document. * Enable this to obtain smaller PostScript files. Modified: xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/ResourceHandler.java URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/ResourceHandler.java?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== --- xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/ResourceHandler.java (original) +++ xmlgraphics/fop/trunk/fop-core/src/main/java/org/apache/fop/render/ps/ResourceHandler.java Mon Sep 25 13:42:23 2017 @@ -139,16 +139,18 @@ public class ResourceHandler implements * @param pageCount the number of pages (given here because PSRenderer writes an "(atend)") * @param documentBoundingBox the document's bounding box * (given here because PSRenderer writes an "(atend)") + * @param psUtil * @throws DSCException If there's an error in the DSC structure of the PS file * @throws IOException In case of an I/O error */ public void process(InputStream in, OutputStream out, - int pageCount, Rectangle2D documentBoundingBox) + int pageCount, Rectangle2D documentBoundingBox, PSRenderingUtil psUtil) throws DSCException, IOException { DSCParser parser = new DSCParser(in); parser.setCheckEOF(false); PSGenerator gen = new PSGenerator(out); + gen.setAcrobatDownsample(psUtil.isAcrobatDownsample()); parser.addListener(new DefaultNestedDocumentHandler(gen)); parser.addListener(new IncludeResourceListener(gen)); Modified: xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar URL: http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/fop/lib/xmlgraphics-commons-svn-trunk.jar?rev=1809628&r1=1809627&r2=1809628&view=diff ============================================================================== Binary files - no diff available. --------------------------------------------------------------------- To unsubscribe, e-mail: fop-commits-unsubscr...@xmlgraphics.apache.org For additional commands, e-mail: fop-commits-h...@xmlgraphics.apache.org