0

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

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

谁能提供一些建议?

4

2 回答 2

0

我创建了一个小的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.SIMPLEX,PdfName.DUPLEXFLIPSHORTEDGEPdfName.DUPLEXFLIPLONGEDGE。此代码实施 ISO-32000-1,并适用于已实施 ISO-32000-1 中定义的查看器首选项的所有查看器。对于您在市场上找到的所有观众来说,情况并非如此。也许这就是你没有运气的原因。

您使用哪个工具来呈现 PDF?(请注意,我不知道“ASET 添加”是什么意思,所以您可能需要澄清一下。)

于 2014-02-17T11:56:39.407 回答
0

我的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
);
于 2016-04-26T19:54:36.457 回答