将HTML从WCF服务打印到网络上的特定打印机

时间:2013-11-26 16:40:34

标签: c# .net wcf printing windows-services

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

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

我目前在此WCF应用程序中使用了PDF打印方法,但是遇到了问题,因此要求将WCF转换为以HTML格式传递的打印。问题与Adobe的使用有关,在我们决定转移到FoxItReader之前,我被要求验证HTML作为一种选择。

感谢您的时间。

1 个答案:

答案 0 :(得分:0)

您仍然可以使用来自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