【问题标题】:How Print functionality in the Report (C#) works? How to print an image using printer shared in network?报告 (C#) 中的打印功能如何工作?如何使用网络共享的打印机打印图像?
【发布时间】:2013-01-28 15:48:50
【问题描述】:

我有一个 Windows 服务,我在其中编写了一些代码来打印图像文件,我使用的打印机是网络共享的(本地网络)。但我面临着许可问题。打印机不打印图像。当我尝试使用同一台打印机在水晶报表中打印文档时,它工作正常。

【问题讨论】:

  • 可能是因为运行服务的用户帐户的配置文件中没有安装打印机,或者无权访问网络资源。
  • 是的,服务是使用本地系统凭据安装的,如果我更改了服务的登录凭据,则服务可以访问打印机。有没有办法解决这个问题?而不是使用 System.Drawing.PrintDocument 任何其他方式?

标签: c# .net wpf


【解决方案1】:

您必须使用确实有权打印的登录名来运行服务。

另一个问题是服务没有提供与普通 UI 应用程序相同大小的 UI 堆栈(因为它没有 UI)。因此,您可能会遇到打印问题,因为打印方法通常在 UI 框架库(WPF、WinForms 等...)中

【讨论】:

  • 可以用报表打印吗?报告会在控制台上运行吗?
  • Crystal 报告只是使用服务的权限——因为它运行的是服务的地址空间。
  • 谢谢彼得.. 任何其他方式来实现此功能,我已使用我的凭据登录计算机,但服务在本地系统下运行,是否可以通过代码设置凭据?我正在使用以下代码,PrintDocument printDoc = new PrintDocument(); printDoc.PrinterSettings.PrinterName = printerPath; printDoc.Print();
  • 在打印文档时使用模拟怎么样?
  • 我不确定为什么将服务帐户更改为可以访问打印机的帐户不是您的首选。模仿可能有效;但随后您必须处理重新编译一个用户帐户的更改。我将首先更改服务的帐户,看看是否有效。如果不这样做,模拟也不会起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-07
  • 2023-03-13
  • 2015-05-11
相关资源
最近更新 更多