0

是否可以使用 SWT PrintDialog 仅显示本地打印机然后返回选定的打印机值?

我有一个适合我的印刷课。我将以下变量传递给类。

String filePath String printerName String jobName

我通过以下方式从我的 GUI 类中调用 Print 类。

new AplotPdfPrintLocal().printPDF("c:\\Temp\\test.pdf", "\\\\PrintServer\\MyPrinter","PDF Print Job");

现在调用正在传递默认打印机。

在上述调用之前,我会很高兴打开一个本地打印机对话框(如 PrintDialog)。能够选择本地打印机,然后使用选定的打印机值调用我的打印类。我希望我的打印类执行打印操作而不是 PrintDialog。

我在想,当在 PrintDialog 中按下 OK 按钮时,我们会执行类似以下伪代码的操作

public void widgetSelected(SelectionEvent e) {
   new AplotPdfPrintLocal().printPDF("c:\\Temp\\test.pdf", "SelectedPrinterValue","PDF Print Job");
}

这可能吗?
有没有更好的方法来执行此操作?

我知道有一种方法可以查找本地打印机(PrinterJob.lookupPrintServices())。但我真的不想围绕它写一个新的对话框,我宁愿使用预先编写的现有对话框,如 PrintDialog

4

1 回答 1

1

PrintDialog为您提供本机打印选项。如果您不想使用,PrintDialog那么您最终会设置所有打印选项(PrintData以及您在 PrintDialog 中看到的其他纸张选项..等)。

使用打印选项定义PrintData并创建打印机(printerdata)并开始打印作业。

于 2012-11-17T00:50:33.387 回答