js实现打印打印预览
使用JavaScript实现打印和打印预览
在JavaScript中,可以通过window.print()方法直接调用浏览器的打印功能。以下是实现打印和打印预览的几种方法:

调用浏览器打印功能
function printPage() {
window.print();
}
自定义打印内容
如果需要打印特定区域的内容,可以创建一个包含目标内容的iframe,然后调用打印功能:

function printSpecificContent(content) {
const printWindow = window.open('', '_blank');
printWindow.document.write('<html><head><title>Print</title></head><body>');
printWindow.document.write(content);
printWindow.document.write('</body></html>');
printWindow.document.close();
printWindow.focus();
printWindow.print();
printWindow.close();
}
打印预览模拟
浏览器的打印预览功能无法直接通过JavaScript控制,但可以通过以下方式模拟:
function printPreview(content) {
const previewWindow = window.open('', '_blank');
previewWindow.document.write('<html><head><title>Print Preview</title></head><body>');
previewWindow.document.write(content);
previewWindow.document.write('</body></html>');
previewWindow.document.close();
}
使用CSS控制打印样式
通过CSS的@media print规则,可以定义打印时的样式:
@media print {
.no-print {
display: none;
}
.print-only {
display: block;
}
}
示例:打印页面特定区域
function printDiv(divId) {
const printContent = document.getElementById(divId).innerHTML;
const originalContent = document.body.innerHTML;
document.body.innerHTML = printContent;
window.print();
document.body.innerHTML = originalContent;
}
注意事项
- 某些浏览器可能会阻止
window.open()的弹出窗口,需确保用户操作触发打印功能。 - 打印预览功能因浏览器而异,无法通过JavaScript直接控制。
- 使用CSS的
@media print可以优化打印输出效果。
以上方法提供了灵活的打印和打印预览实现方式,可根据具体需求选择适合的方案。





