1

我有一个做很多事情的 Web 应用程序,需要编写一个 C# 程序来打印系统生成的文档。

当用户单击 Web 表单 ( window.print()) 上的打印按钮时,它将打印到特定的打印机,而不会弹出打印对话框。

我试过webbrowser.print()了,但它只打印没有弹出的网页界面。

我正在寻找的一件事是处理网站创建的打印作业的方法。我希望 C# 程序能够删除打印对话框并直接打印到打印机。

谁能给我一个提示,告诉我如何实现这个,或者解释为什么(如果)这是不可能的?

PS 我无法更改 Web 应用程序中的任何内容。这就是为什么我想编写一个 C# 程序来执行/管理这个额外的操作。

4

2 回答 2

0

您在 c# 表单上有一个 webbrowser 控件吗?做这个:

myBrowser.Document.GetElementById("ButtonId").InvokeMember("click");

它会自动单击按钮。

如果按钮没有 id,那么您将需要使用其类或标签来识别该按钮。搜索“在浏览器控件中自动单击按钮”。

于 2012-10-05T14:22:03.870 回答
0

尝试从 C# 代码在网页内注入脚本

类似于某些 C# 应用程序按钮 click 的东西。.

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();");
于 2012-10-05T14:45:43.247 回答