SWT - PrintDialog只是为了获得本地打印机而不打印

时间:2012-11-15 17:30:34

标签: swt printdialog

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

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

String filePath 字符串printerName 字符串jobName

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

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

现在,呼叫正在传递默认打印机。

在上述调用之前,我会很高兴打开本地打印机对话框(如PrintDialog)。 能够选择本地打印机,然后使用所选的打印机值调用我的打印类。我更希望让我的Print Class预先形成打印操作而不是PrintDialog。

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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