如何为基于Web的应用程序启用直接打印功能?

时间:2010-10-12 14:00:25

标签: javascript css printing

我正在开发一个Web应用程序,用户只需单击即可打印特定表单。根据我的发现,我了解到我们需要创建表单的可打印版本,然后将其发送到打印机。

但我还是找不到将这种可打印版本的表单直接发送到打印机的方法,而不向用户显示生成的表单。感谢您的任何建议。

谢谢

3 个答案:

答案 0 :(得分:2)

这是您需要的代码:

 <img src="print_button.jpg"  onClick="window.print()" alt="Print this page" style="cursor: pointer;">

您还需要制作一个打印css文件,用于设置打印页面的样式并将其放在标题中:

<link rel="stylesheet" media="print" type="text/css" href="print.css" />

这应该照顾你需要的东西。

答案 1 :(得分:0)

我这样做是通过将打印视图加载到隐藏的iframe并发出.print() javascript命令

答案 2 :(得分:0)

如果您可以从服务器打印到指定的打印机(即,您在Intranet中),则可以执行以下操作。代码要比你想看到的代码多得多 - 得到完整的代码here. 关键是你需要一个网络打印机配置了ASPNET(或它运行的帐户)的权限打印到它。

我做到了这一点。实际上,我们打印得非常多,以至于我们将打印从Web服务器移动到另一台机器上的Web服务或Windows服务,以减轻Web服务器的负担。

using System.Drawing.Printing;
using System.Text;
using System.Web;
using System.IO;

PrintDocument doc = new PrintDocument();
// set the printer name
doc.PrinterSettings.PrinterName = printerName;
// print the page
doc.Print();