我要打印表的所有内容,但是如果表占用一个以上的页面,则仅在第一页显示该内容。
如何在不丢失页面绑定的情况下打印所有内容?
选项1:
$(document).ready(function() {
$('.nonPrintable').hide();
window.print();
$('.nonPrintable').show();
});
选项2(使用printJS库):
printJS({
printable: 'table',
type: 'html',
targetStyles: ['*'],
maxWidth: 1500
});
选项3(这将打印所有不带CSS的内容):
var divElement = document.getElementById('table').innerHTML;
var printWindow = window.open("", "_blank", "");
printWindow.document.open();
printWindow.document.write('<html><body>');
printWindow.document.write(divElement);
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.focus();
printWindow.print();
答案 0 :(得分:0)
问题确实很模糊,但是我从您的屏幕快照中得出的假设是,您希望有一个使用样式表将表内容打印出来的选项。
您可以为此使用document.write
和print()
并添加链接到样式表的变量。可能需要进行调整,因为我不知道您的DOM
的样子。
JS
$(function () {
$('#print').click(function () {
var pageTitle = 'Title of sheet here',
stylesheet = 'path/to/style.css',
win = window.open('', 'Print', 'width=990,height=590');
win.document.write('<html><head><title>' + pageTitle + '</title>' +
'<link rel="stylesheet" href="' + stylesheet + '">' +
'</head><body>' + $('.tableClass')[0].outerHTML + '</body></html>');
win.document.close();
win.print();
win.close();
return false;
});
});
然后只需按一下按钮即可打印内容。
HTML
<button type="button" id="print">Print here!</button>
这还将保留页面绑定。