首页 > 解决方案 > 如何使用用户设置打印 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 实现

标签: javapdfprinting

解决方案


推荐阅读