c# - 如何进行无声打印?
问题描述
所以基本上,我做了一个简单的 asp.net 网站,当你点击按钮时,它会打印出页面。当您打印出来时,它会询问我将使用哪台打印机和哪些选项。我的目标是直接打印页面而不问我打印机和选项。谢谢你的帮助。
我在 Visual Studio 2015 上运行这个程序。
c#asp.net
function printpage() {
var getpanel = document.getElementById("<%= Panel1.ClientID%>");
var MainWindow = window.open('', '', 'height=500,width=800');
MainWindow.document.write('<html><head><title>Print Page</title>');
MainWindow.document.write('</head><body>');
MainWindow.document.write(getpanel.innerHTML);
MainWindow.document.write('</body></html>');
MainWindow.document.close();
setTimeout(function ()
{
MainWindow.print();
}, 500);
return false;
}
HTML (aspx)
<asp:Button ID="Button1" runat="server" OnClientClick="return printpage();" Text="Print Page" />
我没有任何错误程序运行清晰。
解决方案
这对于一般情况是不可能的。作为一种安全措施,它被阻止,以防止您的打印机收集用于污染传真机的同类垃圾。
唯一的解决方法是通过浏览器插件(flash、silverlight、unity、java 等),或者如果您的 Web 服务器恰好与最终用户的浏览器位于同一本地网络上。