我想在不使用javascript函数window.print()。
的情况下在asp.net应用程序中打印网页有人能告诉我一个简短的c#代码来实现我的目标吗?
我也不想打印文档,我的要求是打印我在网页上的内容。打印应该类似于javascript Window.print()的作用。
答案 0 :(得分:1)
我希望我理解你的问题,听起来你想用C#代码打印网页(HTML)。
我之前使用了wkhtmltopdf(http://wkhtmltopdf.org/)并且在同一个网站上有wkhtmltoimage。该实用程序作为命令行工具运行,因此很容易在C#中使用。获得图像或PDF文件后(我选择图像版本),打印起来应该很容易。
您最关心的是将HTML呈现为一个页面,这就是wkhtmltopdf / image为您所做的。
答案 1 :(得分:0)
你在那里要求很多。打印是客户端(Web浏览器)必须执行的操作。 window.print()函数告诉浏览器打印页面,如果你不能使用javascript,那么你必须''服务器上的页面。如果要在服务器端打印页面,则必须使用HTML并将其转换为某些可打印格式,如PDF或渲染图片。
试试selenium webdriver。您可以获得像PhantomJS这样的无头浏览器(在服务器上运行),以便将页面“屏幕截图”为PNG。然后你可以将它发送到浏览器。不幸的是,selenium web驱动程序不支持PDF'截图'。
如果你有这样的事情,还有一个用于硒的nuget包。