我有一个Web应用程序可以完成许多工作,需要编写一个C#程序来打印由系统生成的文档。
当用户点击网络表单(window.print()
)上的打印按钮时,它将打印到特定打印机而不会弹出打印对话框。
我尝试了webbrowser.print()
,但它只打印了没有弹出窗口的网页界面。
我正在寻找的一个方法是处理网站创建的打印作业。我希望C#程序能够删除打印对话框并直接打印到打印机。
任何人都可以给我一个提示,告诉我如何实现这一点,或解释为什么(如果)这是不可能的?
P.S。我无法更改Web应用程序中的任何内容。这就是为什么我想写一个C#程序来执行/管理这个额外的动作。
答案 0 :(得分:0)
你在c#表单上有一个webbrowser控件吗?这样做:
myBrowser.Document.GetElementById( “ButtonId”)InvokeMember( “点击”);
它会自动点击按钮。
如果按钮没有id,则需要使用其类或标记来标识该按钮。搜索“在webbrowser控件中自动单击按钮”。
答案 1 :(得分:0)
尝试从C#代码
在网页中注入脚本类似于某些C#app按钮点击的内容。 。
HtmlElement head = webBrowser1.Document.GetElementsByTagName("head")[0];
HtmlElement scriptEl = webBrowser1.Document.CreateElement("script");
IHTMLScriptElement element = (IHTMLScriptElement)scriptEl.DomElement;
element.text = "function printDocument() { window.print(); }";
head.AppendChild(scriptEl);
webBrowser1.Document.InvokeScript("printDocument");
或只是
webBrowser1.InvokeScript("eval", "window.print();");