【问题标题】:Crystal Report PrintToPrinter Method not working on serverCrystal Report PrintToPrinter 方法在服务器上不起作用
【发布时间】:2013-06-10 11:25:12
【问题描述】:

我正在使用 Crystal Report 进行报告。我想直接打印而不是显示水晶报表查看器。我用过

rpt.PrintToPrinter(1, false, 0, 0);

在本地运行良好,但是当我将它托管到 iis 服务器时,它无法运行。我认为它试图在服务器端而不是客户端找到默认打印机。我可能错了。有人可以指导我吗?

提前致谢。

【问题讨论】:

  • 如果您希望所有客户端在一台服务器打印机上打印,您必须将默认打印机设置为服务器。如果你想为客户打印是另一回事。
  • 如果你想直接打印到客户端你必须使用activex或silverlight。
  • 我可以将 activeX 设置为 CrystalReportViewer 而不是 Report Document,因此它不适用于此 PrintToPrinter() 方法。我也尝试了 activeX 方法,但 CrystalReportViewer 上的控件(打印/导出)也不起作用。 :(
  • 您要么购买外部activex,要么自己制作。 Silverlight 也是一个不错的方法。但是您必须自己创建报告。在 Silverlight 中创建一切。如果您想留在 Crystal 中,则必须购买进行无声打印的组件。

标签: asp.net crystal-reports


【解决方案1】:

“PrinttoPrinter”是服务器的打印默认打印机,而不是客户端打印机。因为您的代码(“PrintToPrinter”)在发布代码的服务器上执行。因此,在执行代码时,它会在本地机器即服务器中搜索,并命令在服务器的默认打印机上打印(如果已设置)。

因此,如果您希望在客户端打印文件,您可以简单地从您的代码中创建一个 pdf 文件并显示给客户端进行下载或打印。此外,水晶报告将通过您在客户端发送的代码生成 pdf。

http://forums.asp.net/t/1866530.aspx?My+crystal+report+does+not+connect+to+client+side+printer+in+asp+net+application+

http://forums.asp.net/t/1840284.aspx?print+direct+not+work

http://forums.asp.net/t/1842337.aspx?need+to+print+crystal+report+to+printer+client

【讨论】:

    猜你喜欢
    • 2011-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-24
    • 1970-01-01
    相关资源
    最近更新 更多