aboutsummaryrefslogtreecommitdiffstats
path: root/src/java
diff options
context:
space:
mode:
authorJeremias Maerki <jeremias@apache.org>2008-06-03 14:13:27 +0000
committerJeremias Maerki <jeremias@apache.org>2008-06-03 14:13:27 +0000
commit8a862123768654c3e55653d12fc4910dc99184bb (patch)
treef14a62dcde2ed011bb05e7d3f0f80bd4ca3712bc /src/java
parentf384a587d01937d1f0ddc2318070157c563b072b (diff)
downloadxmlgraphics-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.java13
-rw-r--r--src/java/org/apache/fop/render/pcl/PCLRenderer.java11
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());