在asp.net中生成网页的打印预览

  

这是我用来实现打印function的唯一代码。 它会生成一个打印对话框。 为了使页面打印友好,我使用了样式表并隐藏了打印页面中我不想要的div。

我现在需要生成该页面的打印预览。 有什么建议?

谢谢

基本上到目前为止还没有可用的function,但您可以通过使用Print css创建名称为print.htm的相同html文件的副本并在按钮上打开此文件打印预览单击作为弹出页面并渲染它,这将预览页面:

    //do it in simple way..    
Print this stuff.
Print Preview

我真的不认为这是实际的。 您的网页不了解字体大小(缩放级别),页边距,方向或构建打印预览图像时您需要了解的任何其他内容。

此外,页面可以引用来自其他站点的图像和其他内容。 您的代码将如何知道这里需要什么?

幸运的是,我使用的浏览器(IE和Chrome)提供打印预览,所以无论如何你都可以免费获得它。 但是,如果您尝试手动实现打印预览,我只是不认为这是一个实际目标。

一种方法是在你的CSS中使用mediaType打印。 只有在打印模式下打开页面时才会应用此css。 在css文件中添加以下类:

 @media print { // printer friendly page css } 

另一种方法是使用纯JavaScript。 互联网上有很多文章 :

如果您有一个适用于打印机友好页面的通用模板。 我建议你为打印版本创建一个单独的页面,当用户点击链接时,将其导航到新的打印机友好页面。 我建议这种方法,因为这是万无一失的,你可以完全控制它,其余的方法有一些陷阱。