【问题标题】:Printing a PDF duplex using Java使用 Java 打印 PDF 双面打印
【发布时间】:2014-02-17 11:24:05
【问题描述】:

我有一台连接到 CUPS 的打印机,它支持双面打印,如何通过我的 java 例程将其设置为单面或双面打印?

我尝试使用 ASET add 和 addViewerPreference 使用 itext 库,但没有任何运气。

谁能给点建议?

【问题讨论】:

标签: java printing itext cups


【解决方案1】:

我创建了一个小的 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 添加”是什么意思,所以您可能需要澄清一下。)

【讨论】:

    【解决方案2】:

    我的ipp-client 库支持设置print job 属性,例如双面打印:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 2019-09-10
      • 1970-01-01
      • 2013-06-14
      • 2014-02-10
      • 2021-11-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多