我在vb.net/winforms中有一个带有WebBrowser控件的应用程序,并导航到网站的打印预览以生成该网站的PDF . 但该页面将触发默认打印对话框 . 这可以防止应用程序完全自动化,并且无法在应用程序执行的计算机中使用网络打印机 .
如何在没有打印对话框的情况下导航到此页面?
我使用了“scripterrorsupressed”,但没有任何反应 .
我尝试使用Httpwebrequest绕过javascript,但这个特定的网站不起作用 .
所有的WebBrowser控件基本上都是没有UI的Internet Explorer的包装器 . 它似乎没有办法抑制对话框 .
有几种解决方法可以解决您的问题 .
您可以尝试获取HTML响应并尝试查找打印调用的位置并将其删除 . 然后加载更新的源(如果需要,将URL固定为绝对值)并将其加载到Web浏览器控件中 . 当Navigated事件触发时,您也可以根据需要转换DocumentText .
在Internet Explorer中禁用“打印”对话框也会影响Web浏览器控件 . 结果可能会有所不同,具体取决于您运行的Internet Explorer的版本 .
Click here for what I found in regards to IE8
Bunch of different registry settings for IE
1 回答
所有的WebBrowser控件基本上都是没有UI的Internet Explorer的包装器 . 它似乎没有办法抑制对话框 .
有几种解决方法可以解决您的问题 .
修改源
您可以尝试获取HTML响应并尝试查找打印调用的位置并将其删除 . 然后加载更新的源(如果需要,将URL固定为绝对值)并将其加载到Web浏览器控件中 . 当Navigated事件触发时,您也可以根据需要转换DocumentText .
在Internet Explorer中禁用“打印”对话框
在Internet Explorer中禁用“打印”对话框也会影响Web浏览器控件 . 结果可能会有所不同,具体取决于您运行的Internet Explorer的版本 .
Click here for what I found in regards to IE8
Bunch of different registry settings for IE