java - 如何使用用户设置打印 PDF 文档?
问题描述
我正在尝试使用java.awt.print.PrinterJob.print (PrintRequestAttributeSet attributes)打印 pdf 文档。在此之前,我使用PrinterJob.printerDialog (属性)将必要的属性放入属性中,它们确实到达了那里,但是从我尝试过的所有内容中,只应用了将打印的页数的变化。其余设置将被忽略。如何让打印机使用我想要的设置进行打印?
pdfReport - 使用 DatatypeConverter.parseBase64Binary 从打印机服务获得的字节 [] - 标准“Microsoft Print to PDF”
PDDocument document = PDDocument.load(pdfReport);
try {
PrinterJob job = PrinterJob.getPrinterJob();
job.setPrintService(printer.printerService);
HashPrintRequestAttributeSet attributes = new HashPrintRequestAttributeSet();
if (job.printDialog(attributes)) {
try {
job.print(attributes);
} catch (PrinterException e) {
System.out.println(e);
}
}
} finally {
document.close();
}
PS:程序运行时,sun.awt.windows.WPrinterJob被用作PrinterJob 实现
解决方案
推荐阅读
- r - separator_rows() 可以按单个字符分隔吗?
- python - 没有内置函数的 TensorFlow 中的平均绝对误差
- javascript - wrapAll() 不适用于第一个插入的数据
- javascript - 变量声明是否提升到 if 范围块的顶部?
- angular - Angular 7 rxjs 6 仅绑定到某些元素
- python - 如何修复错误“您的凭据类不支持会话注入。性能不会达到最大值。” 发送消息时的消息?
- javascript - 动态生成的列表中的匿名函数产生 SyntaxError
- airflow - 气流调度程序没有立即调度简单的 DAG 任务
- arraylist - 在 json 元素数组上使用 Junit 断言在第一个元素上失败
- java - 导航抽屉在点击事件时关闭