是否可以使用SWT PrintDialog仅显示本地打印机,然后返回所选打印机值?
我有一个适用于我的print类。我将以下变量传递给该类。
字符串文件路径字符串打印机名称字符串作业名称
我通过以下方式从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 这样预先编写的现有对话框
PrintDialog
为您提供本机打印选项。如果您不想使用PrintDialog
,那么您最终会设置所有打印选项(PrintData
和其他纸张选项等,您可以在PrintDialog中看到)。
用打印选项定义PrintData
,创建打印机(printerdata)并开始打印作业。