0
<a href="_javascript:window.print()">
<img class="noPrint" src="Images/Print_icon.png" border="0"></a>

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

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

谢谢

4

3 回答 3

1

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

<html> 
<head> 
<title></title> 
//do it in simple way.. 
<script LANGUAGE=”JavaScript”&gt; 
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”&gt;Print this stuff.</div> 
<a href=”javascript:void(0);” onclick=”displayMessage(printarea.innerHTML)”&gt;Print Preview</a>

</body> 
</html> 
于 2012-04-18T06:01:18.337 回答
0

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

@media print {
// printer friendly page css
}

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

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

于 2012-04-18T05:44:40.403 回答
0

我真的不认为这是实用的。您的网页不知道字体大小(缩放级别)、页边距、方向或构建打印预览图像所需的任何其他信息。

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

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

于 2012-04-18T05:21:06.930 回答