You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2017/07/10 16:58:47 UTC
svn commit: r1801497 -
/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java
Author: tilman
Date: Mon Jul 10 16:58:47 2017
New Revision: 1801497
URL: http://svn.apache.org/viewvc?rev=1801497&view=rev
Log:
PDFBOX-3863: support duplex entry in ViewerPreferences
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java?rev=1801497&r1=1801496&r2=1801497&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/printing/Printing.java Mon Jul 10 16:58:47 2017
@@ -27,7 +27,9 @@ import java.io.IOException;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.PrintRequestAttributeSet;
import javax.print.attribute.standard.PageRanges;
+import javax.print.attribute.standard.Sides;
import org.apache.pdfbox.pdmodel.PDDocument;
+import org.apache.pdfbox.pdmodel.interactive.viewerpreferences.PDViewerPreferences;
import org.apache.pdfbox.printing.PDFPageable;
import org.apache.pdfbox.printing.PDFPrintable;
@@ -113,6 +115,24 @@ public final class Printing
PrintRequestAttributeSet attr = new HashPrintRequestAttributeSet();
attr.add(new PageRanges(1, 1)); // pages 1 to 1
+
+ PDViewerPreferences vp = document.getDocumentCatalog().getViewerPreferences();
+ if (vp != null && vp.getDuplex() != null)
+ {
+ String dp = vp.getDuplex();
+ if (PDViewerPreferences.DUPLEX.DuplexFlipLongEdge.toString().equals(dp))
+ {
+ attr.add(Sides.TWO_SIDED_LONG_EDGE);
+ }
+ else if (PDViewerPreferences.DUPLEX.DuplexFlipShortEdge.toString().equals(dp))
+ {
+ attr.add(Sides.TWO_SIDED_SHORT_EDGE);
+ }
+ else if (PDViewerPreferences.DUPLEX.Simplex.toString().equals(dp))
+ {
+ attr.add(Sides.ONE_SIDED);
+ }
+ }
if (job.printDialog(attr))
{