从Viewer打印出来表明打印机错误

2020-09-20 07:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我正在将CRVS与SP18配合使...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我正在将CRVS与SP18配合使用。

查看器将PrintMode设置为" PrintMode.PrintOutputController"。 现在,当在查看器中绘制报表时,客户单击工具栏上的"打印"按钮,该工具栏在内部执行CrystalDecisions.Windows.Forms.CrystalReportViewer.PrintReport()。

打开"打印"对话框时,建议使用默认打印机。 如何向客户推荐另一台打印机?

我尝试了几种方法为查看器打印对话框设置打印机:

  • CrystalDecisions.CrystalReports.Engine.PrintOptions.PrinterName
  • CrystalDecisions.CrystalReports.Engine.ReportDocument.ReportClientDocument.PrintOutputController.GetPrintOptions.PrinterName
  • CrystalDecisions.ReportAppServer.Controllers.PrintReportOptions.PrinterName
  • System.Drawing.Printing.PrintDocument.PrinterSettings.PrinterName

它们都不起作用。...

此致

帕特里克

6条回答
能不能别闹
2020-09-20 07:57

嗨帕特里克

啊,这改变了一切...

取决于您的报告。 因此,对于基本信纸尺寸报告,则使用P2P将始终选择用户默认打印机,这是P2P的基本工作流程,无法更改它。 而且,如果您使用Dissociate,引擎将尝试为用户默认打印机查找匹配的纸张尺寸和边距。

对于自定义纸张尺寸,总是最好使用特定的打印机或使用POC在运行时设置打印机。

几年前,大多数销售代表建议不要使用打印机选项。 现在,建议不要在CR 2008+中进行更新,除非特殊情况,否则我不建议使用"无打印机"。

基本区别是P2P使用Windows打印机通用对话框,POC使用CR设计器使用的对话框,并提供对打印机的更多控制。

因此,最适合您的应用程序的是更好的应用程序。

我不建议不要使用"无打印机",因为报表格式化引擎随后会使用USP10.dll和GDIPlus,并且某些用户使用默认打印机属性。 即使使用基本纸张尺寸,也可能会导致页边距问题,某些打印机的可打印区域较少,因此可能导致格式更改。

最好的做法是在设计报告时始终使用一台真实的打印机,选中"解除关联"并保存报告。 这样,如果找不到打印机,CR就会寻找报表设计所针对的同一打印机家族,并据此进行格式化。

如果您需要特定的纸张尺寸,对于预印表格和那些类型的纸张,请始终使用特定的打印机系列和打印机类别。 并使用完全相同的名称命名所有自定义纸张尺寸,Engine/RAS将首先查找纸张尺寸名称,然后再使用ENUM查找。

因此,要回答您的问题,哪一个最有效,取决于您,但是取决于工作流程,报告的设计方式以及它们是否需要使用特定的打印机和打印机属性。

请记住,当选择"无打印机"时,它将使用USP10.dll,GDIplus和用户默认的打印机进行格式化。

某些开发人员实际上将打印机属性保存到数据库字段中,并能够在其应用程序界面中更新默认值,然后使用CopyTo/CopyFrom保存/更新报告打印机属性。 这样就可以保持一致,然后不必使用多个例程来管理它们。

很多选项,很多功能,都取决于您要使它成为用户证明的程度...

也可能会导致您列出您支持的特定打印机...但是同样取决于您的应用程序和报告。

Don

一周热门 更多>