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.
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.