【发布时间】:2009-10-12 03:13:19
【问题描述】:
是否可以通过网站直接打印文档的链接/按钮?
【问题讨论】:
是否可以通过网站直接打印文档的链接/按钮?
【问题讨论】:
使用常规技术最接近的方法是使用 javascript 显示打印对话框。
此限制已内置于系统中,旨在保护像您这样的用户免受垃圾邮件发送者的侵害,他们梦想将您的打印机变成另一台传真机的垃圾邮件目标。要绕过它,您必须深入第三方插件的世界。
【讨论】:
假设您不需要呈现适合打印的页面版本,而只想触发浏览器的“打印”功能,就这样:
<input type="button" value="Print" onclick="window.print();" />
或使用 webcontrol 按钮
<asp:button id="button1" runat="server" onclientclick="window.print(); return false;" text=Print" />
【讨论】:
您可能需要为此编写 Applet、Flash、ActiveX 组件。
另请注意:
ActiveX 组件仅适用于 Windows(主要是 IE)。
Applet/Flash 可在 Windows/MAC/Linux 等主要操作系统上运行
我建议您使用 Applet,尽管客户端需要安装 JRE。
【讨论】:
是的,只需在链接或按钮上调用 javascript“window.print()”即可。
即
编辑:看到您关于想要打印 Office 文档的其他评论。您在这里唯一的选择是使用本机应用程序打开文档,或者转换为 HTML 或 PDF 服务器端。
正如另一个帖子指出的那样,您可能会嵌入一个 ActiveX 对象,但这会导致各种安全问题,并且不太可能在默认的 IE 安全设置中工作,在其他网络浏览器上根本无法工作。
如果您在 Intranet 中工作,您可以让服务器直接连接到办公室打印机,但除此之外,恐怕没有真正的方法可以做到这一点而没有明显的警告。我建议只为用户提供下载,让他们自己打印。
【讨论】:
我认为您可能需要借助某种库来读取要打印的完整文档,该库将整个文档作为文本/html 读取到内存流中并写入输出流,最后调用 window.print() ;
【讨论】: