2010-03-17 66 views
3

我有一个HTML页面,我想打印此html页面的一部分,我知道一个JavaScript函数,以打印页面,如何打印HTML页面的一部分?

onClick="javascript:window.print(); return false; 

,但我怎么能打印页面的一部分?

如果有人有想法,请与我分享。

回答

8

您应该为打印介质使用单独的css。这允许您在打印页面时隐藏/显示部分页面。

HTML:

<div class="dont-print-that"> 
    blah 
</div> 
print this! 

包括:

<link rel="stylesheet" type="text/css" media="print" href="print.css" /> 

print.css

.dont-print-that{display:none;} 

另一个解决办法是打开一个新的窗口,只有要打印的内容。你可以在弹出窗口或iframe中做到这一点。就我个人而言,我发现CSS解决方案更加优雅,但这取决于您。

0

您可以应用CSS样式来隐藏所有内容,但是您要使用Javascript为media="print"打印什么内容。

您也可以在另一个窗口或[隐藏] 中加载页面并打印。

+1

我不知道我理解你的答案,但没有必要使用JavaScript。打印时,浏览器使用正确的css重新绘制页面。 – Alsciende 2010-03-17 10:36:43

+0

@Alsciende,我知道。我将这个问题理解为只想打印文档的一小部分,而不是整个文档。我的意思是他可以在打印开始之前为打印介质插入CSS规则,因此除了这一小部分以外的所有内容都是隐藏的。 – strager 2010-03-17 20:13:24

0

如果你想实现多页上的“打印本节”的特点,然后打印媒体样式表(在其他的答案中描述)是前进的方向......

...但结合起来,与alternative stylesheets这样你就可以切换到每个部分一个。