2013-11-26 49 views
3

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

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

我目前在这个WCF应用程序中使用了打印的PDF方法,但是有这个问题,所以被要求将WCF转换为打印HTML格式。这些问题与Adobe的使用有关,在我们决定迁移到FoxItReader之前,我被要求验证HTML作为选项。

谢谢你的时间。

回答

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

+1

感谢您的帮助,我对在线缺少有关此主题的信息或来自WCF服务的任何基于打印主题的信息感到非常惊讶。 – SymbioticKaos