我需要打印div的全部内容。请注意div中的滚动。
但是当我使用Window.print()
打印其内容时,它只打印屏幕上的可见部分。我想在网格中打印所有154条记录,但它只打印21条记录。
注意:我不想打开新窗口。
编辑:
javascript function()
{
1. Hide divs that you don't want to print
2. window.print()
3. show the divs you hide in step 1
}
答案 0 :(得分:1)
我认为最强大的解决方案是创建一个iframe,将要打印的内容复制到该帧,然后打印出来。有JQuery插件。重复:Print the contents of a DIV
另一种可能性是使用打印CSS来隐藏您不想打印的内容(菜单等),还可以删除桌面上的最小高度,从而导致滚动条被移除。
答案 1 :(得分:1)
使用带有介质类型打印的样式表 -
link rel="stylesheet" type="text/css" media="print" href="print.css"
改变DIV风格 -
height:auto;
overflow:auto
打印时(使用window.print()
),DIV的高度会增加,并隐藏所有其他DIV。
答案 2 :(得分:0)
答案 3 :(得分:0)
https://github.com/jasonday/jquery.printThis
我基于其他几个插件编写了上述插件,允许在页面上打印元素(无弹出窗口)并维护页面样式或专门为打印元素加载新的CSS样式。
答案 4 :(得分:0)
我使用了printThis,它对于具有固定高度和滚动条的div非常有用。 removeInline:true 属性打印整个文档,即使您只能在div中看到它的一部分。
function printpage(divId, title) {
var divID = "#" + divId;
var divTitle = title;
$(divID).printThis({
debug: false,
importCSS: true,
importStyle: true,
printContainer: true,
pageTitle: divTitle,
removeInline: true,
printDelay: 333,
header: null,
formValues: true
});
}