c# - 从 WCF 服务打印 HTML 到网络上的特定打印机

标签 c# .net wcf printing windows-services

我目前正在创建一个 WCF 服务来打印已保存在特定位置的 HTML 文件。然后需要将此 HTML 文件打印到我们网络上的特定打印机,我目前面临的问题是关于打印 HTML。

因为这是一个 WCF 服务,一些可以在 WinForm 应用程序中使用的基本方法不能使用(例如 WebBrowser)。这会导致问题,因为我不完全确定我还有哪些其他方法和选项。该服务也是异步的,这意味着可以随时通过应用程序发送多个文件进行打印,这意味着该解决方案还需要能够处理多线程。

我目前在此 WCF 应用程序中使用 PDF 打印方法,但遇到了问题,因此被要求将 WCF 转换为在 HTML 中传递的打印。这些问题与 Adob​​e 的使用有关,在我们决定转移到 FoxItReader 之前,我被要求验证 HTML 作为一个选项。

感谢您的宝贵时间。

最佳答案

您仍然可以通过 WCF 服务使用 WebBrowser,尽管您需要为其组织一个专用的 STA 线程。 Here is a basic sample控制台应用程序就是这样做的,控制台应用程序的体系结构在某种程度上类似于 WCF 服务的体系结构。您需要向其中添加一些消费者/生产者队列逻辑。

指定自定义打印机也是可能的,尽管不是那么简单:
Add support to print & preview HTML in a dialog-based MFC app .

除了基于 WebBrowser 的解决方案,还有一些其他选项,仍然基于 HTML:
Paginating HTML document for printing with WebKit-based browsers .

关于c# - 从 WCF 服务打印 HTML 到网络上的特定打印机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20222848/

相关文章:

c# - 如何减少 ASP.NET Core 中的 cookie 大小(类似于使用引用模式)?

C# MSChart : Draw axis line at 0 even with negative values

c# - 检查是否在 .NET 中连接了第二台显示器(双显示器设置,带有坞站的笔记本电脑)

c# - 如何从IErrorHandler产生等效于HTTP 403的WCF消息?

c# - WCF REST、流式上传文件和 httpRuntime maxRequestLength 属性

c# - 如何使用 XDocument 动态生成 XML 文件?

.net core - 中间件不处理请求

c# - 是否可以将相同的 DLL 添加两次到 AppDomain 中,或者最好重新使用加载的 DLLC?

wcf - ServiceRoutes 在 WCF 中不起作用

wcf - 在IIS7.5上托管WCF服务