diff options
author | Jeremias Maerki <jeremias@apache.org> | 2008-06-03 14:13:27 +0000 |
---|---|---|
committer | Jeremias Maerki <jeremias@apache.org> | 2008-06-03 14:13:27 +0000 |
commit | 8a862123768654c3e55653d12fc4910dc99184bb (patch) | |
tree | f14a62dcde2ed011bb05e7d3f0f80bd4ca3712bc /src/java | |
parent | f384a587d01937d1f0ddc2318070157c563b072b (diff) | |
download | xmlgraphics-fop-8a862123768654c3e55653d12fc4910dc99184bb.tar.gz xmlgraphics-fop-8a862123768654c3e55653d12fc4910dc99184bb.zip |
Bugzilla #45115:
Added a PCL-specific extension attribute on simple-page-master for controlling the simplex/duplex mode.
Submitted by: Martin Edge <Martin.Edge.at.asmorphic.net.au>
git-svn-id: https://svn.apache.org/repos/asf/xmlgraphics/fop/trunk@662807 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/java')
-rw-r--r-- | src/java/org/apache/fop/render/pcl/PCLGenerator.java | 13 | ||||
-rw-r--r-- | src/java/org/apache/fop/render/pcl/PCLRenderer.java | 11 |
2 files changed, 21 insertions, 3 deletions
diff --git a/src/java/org/apache/fop/render/pcl/PCLGenerator.java b/src/java/org/apache/fop/render/pcl/PCLGenerator.java index 5ca9a8bf9..6a4425012 100644 --- a/src/java/org/apache/fop/render/pcl/PCLGenerator.java +++ b/src/java/org/apache/fop/render/pcl/PCLGenerator.java @@ -230,6 +230,19 @@ public class PCLGenerator { } /** + * Selects the duplexing mode for the page. + * The parameter is usually printer-specific. + * "0" means Simplex, + * "1" means Duplex, Long-Edge Binding, + * "2" means Duplex, Short-Edge Binding. + * @param selector the integer representing the duplexing mode of the page + * @throws IOException In case of an I/O error + */ + public void selectDuplexMode(int selector) throws IOException { + writeCommand("&l" + selector + "S"); + } + + /** * Clears the horizontal margins. * @throws IOException In case of an I/O error */ diff --git a/src/java/org/apache/fop/render/pcl/PCLRenderer.java b/src/java/org/apache/fop/render/pcl/PCLRenderer.java index 007ce4828..988517cc7 100644 --- a/src/java/org/apache/fop/render/pcl/PCLRenderer.java +++ b/src/java/org/apache/fop/render/pcl/PCLRenderer.java @@ -395,9 +395,7 @@ public class PCLRenderer extends PrintRenderer { return MIME_TYPE; } - /** - * {@inheritDoc} - */ + /** {@inheritDoc} */ public void renderPage(PageViewport page) throws IOException, FOPException { saveGraphicsState(); @@ -408,6 +406,13 @@ public class PCLRenderer extends PrintRenderer { gen.selectPaperSource(Integer.parseInt(paperSource)); } + // Is Page duplex? + String pageDuplex = page.getForeignAttributeValue( + new QName(PCLElementMapping.NAMESPACE, null, "duplex-mode")); + if (pageDuplex != null) { + gen.selectDuplexMode(Integer.parseInt(pageDuplex)); + } + //Page size final long pagewidth = Math.round(page.getViewArea().getWidth()); final long pageheight = Math.round(page.getViewArea().getHeight()); |