我有一台连接到 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.SIMPLEX
,PdfName.DUPLEXFLIPSHORTEDGE
和PdfName.DUPLEXFLIPLONGEDGE
。此代码实施 ISO-32000-1,并适用于已实施 ISO-32000-1 中定义的查看器首选项的所有查看器。对于您在市场上找到的所有观众来说,情况并非如此。也许这就是你没有运气的原因。
您使用哪个工具来呈现 PDF?(请注意,我不知道“ASET 添加”是什么意思,所以您可能需要澄清一下。)
我的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
);