编程语言
首页 > 编程语言> > c# – 水晶报告|印刷|默认打印机

c# – 水晶报告|印刷|默认打印机

作者:互联网

我正在创建一个应用程序,用户将打印我使用Crystal Report显示的发票.

用户向我展示了他使用ForPro进行的当前应用程序.在该应用程序中,在“打印机选项”窗体下,可以看到当前安装的所有打印机,用户可以选择默认打印机.发票完成后,用户按下打印按钮,然后有一个对话框询问否.的副本.输入后,发票直接打印,没有任何打印对话框.如果用户想要再次更换打印机,他/她将在“打印机选项”表单中更改它.

我想知道Crystal Report中是否有类似的事情,并且需要有关如何处理它的指导.

解决方法:

查看ReportDocument.PrintToPrinter SAP DocsMSDN Docs,了解如何指定PrinterName,然后使用ReportDocument对象进行打印.

如果您可以尝试远离FoxPro应用程序UI如何选择打印机.而是使用标准print dialog box来选择打印机.

您应该注意,如果在将报告发送到打印机之前未设置PrinterName,它将使用水晶文件上的默认值.不要与用户的OS默认打印机混淆.

以下是使用SetParameterValue方法显示PrintDialog设置某些参数,然后将报告文档发送到打印机的示例

// Note: untested
var dialog = new PrintDialog();

Nullable<bool> print = dialog.ShowDialog();
if (print.HasValue && print.Value)
{
    var rd = new ReportDocument();

    rd.Load("ReportFile.rpt");
    rd.SetParameter("Parameter1", "abc");
    rd.SetParameter("Parameter2", "foo");

    rd.PrintOptions.PrinterName = dialog.PrinterSettings.PrinterName;
    rd.PrintToPrinter(1, false, 0, 0);
}

标签:c,net,printing,winforms,crystal-reports
来源: https://codeday.me/bug/20190715/1462661.html