CrystalReport|印刷|默认打印机我正在创建一个应用程序,用户可以在其中打印我使用CrystalReport显示的发票。一位用户向我展示了他目前正在使用ForPro制作的应用程序。在应用程序中,在“打印机选项”窗体下,可以看到所有当前安装的打印机,用户可以选择默认打印机。发票开始后,用户按下打印按钮,然后有一个对话框询问否。的副本。输入后直接打印发票,无需任何打印对话框。如果用户想再次更换打印机,他/她将在“打印机选项”表格中进行更改。我想知道CrystalReport中是否有类似的东西,需要有关如何处理它的指导。查看ReportDocument.PrintToPrinterSAP文档或MSDN文档,了解如何指定PrinterName,然后使用ReportDocument对象进行打印。如果您可以尝试远离FoxPro应用程序UI如何选择打印机。相反,使用标准打印对话框来选择打印机。您应该注意,如果在将报告发送到打印机之前未设置PrinterName,它将使用crystal文件中的默认值。不要与用户的操作系统默认打印机混淆。下面是一个使用SetParameterValue方法显示PrintDialog来设置一些参数然后将报表文档发送到打印机的例子//注意:未测试vardialog=newPrintDialog();可为空的print=dialog.ShowDialog();如果(print.HasValue&&print.Value){varrd=newReportDocument();rd.Load("ReportFile.rpt");rd.SetParameter("参数1","abc");rd.SetParameter("参数2","foo");rd.PrintOptions.PrinterName=dialog.PrinterSettings.PrinterName;rd.PrintToPrinter(1,false,0,0);上面的代码不再有效,因为SAP承认您需要将报告文档设置为ISCDReportClientDocument然后打印它。这是确保打印作业不会转到默认打印机的更可靠的方法。最后两行可以用这段代码替换。CrystalDecisions.ReportAppServer.Controllers.PrintReportOptionsprintReportOptions=newCrystalDecisions.ReportAppServer.Controllers.PrintReportOptions();CrystalDecisions.ReportAppServer.Controllers.PrintOutputControllerprintOutputController=newCrystalDecisions.ReportAppServer.Controllers.PrintOutputController();CrystalDecisions.ReportAppServer.ClientDoc.ISCDReportClientDocumentrptClientDoc;rptClientDoc=cryRtp.ReportClientDocument;printReportOptions.PrinterName=pDialog.PrinterSettings.PrinterName;rptClientDoc.PrintOutputController.PrintReport(printReportOptions);这里还有一个不错的链接http://mattruma.azurewebsites.net/?p=258以上是C#学习教程:水晶报表|印刷|默认打印机分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注——本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
