从 IIS 中的应用程序打印到服务器上的网络打印机

2023-12-02

我有一行代码,可以作为服务的一部分在本地运行,并且运行得很好。

sReportPath = objCrystalUtils.ExportReportToPDF("Report Name", iReportInfoID)

该代码作为服务的一部分运行,当我通过向其提供数据对其进行单元测试时,它最终会构建报告并打印它。

当我通过 ajax 调用在 .ashx 中运行完全相同的代码时。报告已生成(我可以看到在磁盘上创建的 pdf 文件),但未进行打印。

 oRpt.PrintToPrinter(objReport.DefaultAutoPrint, True, 0, 0)

在这两种情况下,都使用相同的代码来打印报告。 (两种情况下 objReport.DefaultAutoPrint = 0)

我唯一的想法是,调用此方法的代码的位置相对于账单本身的位置位于不同的位置。

我尝试打印的打印机是我的计算机上安装的网络打印机,并且我运行的是 Windows 7 IIS 6.1

有什么想法吗?

Edit:

这里有一个想法...如果我在本地运行一个作为单元测试,并通过通过 IIS 运行的 Web 应用程序运行另一个,则用户 ID 和用户对默认打印机的访问权限是否存在差异?

Edit:

因此,我将本地 ASP、IUSR 和 SYSTEM 用户添加到打印机安全性中,并允许他们打印……没有骰子。所以我检查了每个用户,它被设置为访问并且没有用户被拒绝......所以我认为这有点扼杀了这一推理。

Edit:

我更改了这篇文章的名称,因为我不再认为问题与 ajax 相关,因为如果我尝试在回发后面的代码中执行相同的过程,而不是从 ajax 调用运行它,我仍然会遇到同样的问题。


Patrick,对我来说,这是水晶报表的一个已知问题,通过 IIS 从正在运行的应用程序打印某个报表。

我之前遇到过同样的问题,在我们搜索该问题时,我们得到了以下结果;

Report to be generated, exported, and then to be downloaded to client machine,  
so user can print it locally (say, report will be exported as PDf file, 
user can use print option of PDF reader).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 IIS 中的应用程序打印到服务器上的网络打印机 的相关文章

随机推荐