C#如何在不使用javascript window.print()方法的情况下打印网页?

时间:2016-06-20 14:48:28

标签: c# asp.net printing

我想在不使用javascript函数window.print()。

的情况下在asp.net应用程序中打印网页

有人能告诉我一个简短的c#代码来实现我的目标吗?

我也不想打印文档,我的要求是打印我在网页上的内容。打印应该类似于javascript Window.print()的作用。

2 个答案:

答案 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包。