簡體   English   中英

使用 Java 打印雙面 PDF

[英]Printing a PDF duplex using Java

我有一台連接到 CUPS 的打印機,它支持雙面打印,如何通過我的 java 程序將其設置為單面或雙面打印?

我曾嘗試使用 ASET add 和 addViewerPreference 使用 itext 庫,但沒有任何運氣。

任何人都可以提供一些建議嗎?

我創建了一個小的ChangeViewerPreference代碼示例,用於向現有 PDF 添加查看器首選項:

PdfReader reader = new PdfReader(src);
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.addViewerPreference(PdfName.DUPLEX, PdfName.DUPLEXFLIPLONGEDGE);
stamper.close();
reader.close();

此查看器首選項的可能值為PdfName.SIMPLEXPdfName.DUPLEXFLIPSHORTEDGEPdfName.DUPLEXFLIPLONGEDGE 此代碼實現了 ISO-32000-1,並適用於所有實現了 ISO-32000-1 中定義的查看器首選項的查看器。 您在市場上找到的所有觀眾都不是這種情況。 也許這就是你沒有任何運氣的原因。

您使用哪種工具來呈現 PDF? (請注意,我不知道“ASET add”是什么意思,因此您可能需要澄清一下。)

我的ipp-client庫支持設置打印作業屬性,如雙面打印:

CupsClient cupsClient = new CupsClient("localhost");
IppPrinter ippPrinter = cupsClient.getPrinter("ColorJet_HP");
ippPrinter.printJob(
  new File("my-document.pdf"),
  documentFormat("application/pdf"),
  IppSides.TwoSidedLongEdge
);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM