<a href="_javascript:window.print()">
<img class="noPrint" src="Images/Print_icon.png" border="0"></a>
这是我用来实现打印功能的唯一代码。它会生成一个打印对话框。为了使页面打印友好,我使用了样式表并隐藏了打印页面中我不想要的div。
我现在需要生成该页面的打印预览。有什么建议吗?
由于
答案 0 :(得分:1)
基本上目前还没有可用的功能,但您可以通过使用Print css创建名称为print.htm
的相同html文件的副本,并在按钮上打开此文件打印预览单击作为弹出页面并渲染它,这将预览页面:
<html>
<head>
<title></title>
//do it in simple way..
<script LANGUAGE=”JavaScript”>
function displayMessage(printContent) {
var inf = printContent;
win = window.open(”print.htm”, ‘popup’, ‘toolbar = no, status = no’);
win.document.write(inf);
win.document.close(); // new line
}
</script>
</head>
<body>
<div id=”printarea”>Print this stuff.</div>
<a href=”javascript:void(0);” onclick=”displayMessage(printarea.innerHTML)”>Print Preview</a>
</body>
</html>
答案 1 :(得分:0)
我真的不认为这是实际的。您的网页不了解字体大小(缩放级别),页边距,方向或构建打印预览图像时需要了解的任何其他内容。
此外,页面可以引用来自其他站点的图像和其他内容。你的代码将如何知道这里需要什么?
幸运的是,我使用的浏览器(IE和Chrome)提供了打印预览,因此您无论如何都可以免费获得。但是,如果您尝试手动实现打印预览,我只是不认为这是一个实际目标。
答案 2 :(得分:0)
一种方法是在css中使用mediaType打印。只有在打印模式下打开页面时才会应用此css。在css文件中添加以下类:
@media print {
// printer friendly page css
}
另一种方法是使用纯javascript。互联网上有很多articles:
如果您有打印机友好页面的通用模板。我建议你为打印版本创建一个单独的页面,当用户点击链接时,将其导航到新的打印机友好页面。我推荐这种方法,因为这是万无一失的,你可以完全控制它,其余的方法都有一些陷阱。