从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条回答
SAP小菜
2020-09-20 08:17

嗨Patrick,

当前,引擎内置了很多逻辑来确定打印机设置。 我们无法做到这一切,因为大多数开发人员的工作流程都不同。

P2P永远不会改变,因为它是Visual Studio早期的基础,那时我们集成到VS Installer中。 也没有该版本的RAS。

您需要做的最大的事情就是在当前版本的CR Designer中打开每个报表,并将其与那些打印机属性一起保存。

借助更新的CR设计器,您现在还可以获取报告的历史记录:

history.png

您现在也可以使用引擎来获取这些值,并使用它来测试报告是否最新。 使用SaveAs()会更新历史记录,只有在CR Designers(craxddrt)能够更新历史记录的情况下,才故意这样做,因此实际上只有少数工作流程会更新该集合。 而且它是只读的。

返回打印机...

以下是一些使用自定义纸张尺寸的图片。

请注意报告中保存的打印机名称和纸张名称与打印机中的纸张名称...(Argox打印机和标签纸张名称)

现在,当您设置打印机时,引擎会在寻找该打印机名称:

因此,这可以照顾到ENUM的纸张大小,大多数打印机随机分配ENUM,Seagull Scientific打印机驱动程序允许您指定ENUM,以便可以以相同的方式在站点+上的每台打印机上进行设置。 但是它们不是免费的,但我发现它们是最一致和可配置的。 而且他们已经做了很长时间了,因此在驱动程序和可支持性方面都有很好的记录。

因此,由于CR依赖于操作系统,硬件,硬件驱动程序,打印机和打印机驱动程序,因此管理起来不那么容易,有那么多变量。 我在研发方面所做的工作是找到至少获得打印机属性的方法,并使开发人员能够使用我们的SDK相对容易地进行管理。 我让他们添加的一个ER不仅要查找打印机名称,而且要查找ENUM,因为您知道这确实引起了问题。

最后要注意的是,管理打印机完全取决于您,因为有太多的变量和那么多的打印机,然后放入Microsoft的Framework,这是我们能够使它们保持正常运行的全部措施。

有关打印的更多信息,请查看以下文档集:

https://archive.sap.com/documents/docs/DOC-57978

最重要的是,可以使您的报告保持最新或尽可能接近当前版本,并记住在格式化以及报告如何依赖打印机硬件和驱动程序以及具体指定受支持的打印机时,CR是与硬件相关的。 您所能支持的打印机的数量(这很有趣)...我们也能做到的...

这完全取决于您的应用程序,政府。 法律法规等要求使用确切的位置和纸张类型等,因此在这种情况下,您需要设计和支持这些特定类别的打印机...。

支持所有内容是一项艰巨的任务,但我们正在努力使开发人员尽可能地容易,并在所有平台和用途上提供支持...

玩得开心

一周热门 更多>