用于将HTML文档打印到网络打印机的.NET Web服务

时间:2013-02-10 04:23:16

标签: .net web-services printing

我需要构建一个可以接收HTML文档并将其发送到打印机的Web服务。该服务必须接收HTML作为输入,然后将其发送到网络上的打印机。我已经阅读了很多关于PrintDocument的内容,但它似乎不是一个可行的解决方案,可以将预先格式化的文档(在本例中为HTML)或文件发送到打印机。相反,它希望您的代码能够协调每个页面的内容和布局,使用个人命令来打印文本行,图形等。在我的例子中,HTML本身应该定义页面布局。我只需要以与桌面浏览器相同的方式盲目地打印HTML文档,但是以编程方式作为服务,无需任何用户输入。

背景:我们有需要打印HTML页面的iOS设备(iPad,iPod等),但出于各种原因我们无法使用AirPrint技术。首先,AirPrint要求iOS设备与打印机位于同一网段,但实际情况并非如此。我们必须能够使用公司网络上的任何打印机。其次,我们使用的打印机不兼容AirPrint。

建议的解决方案:在.NET中构建一个Web服务(REST或SOAP),该服务将在已配置网络打印机的Windows Server上运行,并且已安装驱动程序。让iOS应用程序将HTML文档发送到Web服务。 Web服务将以某种方式将收到的HTML发送到远程网络打印机,该打印机在托管Web服务的Windows Server上本地配置...

有关如何打印内存中HTML文档的任何想法,类似于浏览器的方式,但是来自Web服务,没有任何UI?

1 个答案:

答案 0 :(得分:0)

PhantomJS之类的声音可以满足您的需求。它允许您将HTML文件转换为PDF(以及其他格式),然后您可以将其发送到打印机。

您可能希望根据自己的情况查看“rasterize”示例。