我在jsp中创建了一个包含60列的报表。我可以通过滚动查看所有列。 现在我想打印这份报告。我用来打印的功能是
function printReport(rpt)
{
var report = document.getElementById(rpt);
var newWindow = "toolbar=no, addressbar=no, directories=no,location=no, status=yes, menubar=no, scrollbars=yes, resizable=yes, width=5000 , height=500, left=50, top=50";
var printWindow = window.open('',rpt, newWindow);
printWindow.document.write('<html><body>');
printWindow.document.write('<div id="rpt" name="rpt" style="overflow:scroll;" >');
printWindow.document.write(report.innerHTML);
printWindow.document.write('</div>');
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.focus();
printWindow.print();
printWindow.close();
}
现在问题是它只打印在屏幕上可见的内容,即打印的纸张只有大约10列在屏幕上可见。但我想在下一页打印剩余的列,以便打印整个表。 有什么建议吗?
答案 0 :(得分:1)
除去
风格= “溢出:滚动;”
或者甚至只是这个(并注意我首先删除了参数中的空格,然后删除了大部分空格,因为它们无关紧要)
function printReport(rpt)
{
var report = document.getElementById(rpt);
var parms = "scrollbars,resizable,width=500,height=500,left=50,top=50";
var printWindow = window.open('',rpt, parms);
printWindow.document.write('<html><body onload="window.focus();window.print()">');
printWindow.document.write(report.innerHTML);
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.close(); // not sure this is ok either.
}
更新:我强烈建议你发送PDF而不是试图强制浏览器按照你想要的方式打印你的页面