当前位置:首页 > JavaScript

js 实现打印

2026-03-02 05:36:30JavaScript

使用 window.print() 方法打印当前页面

在 JavaScript 中,调用 window.print() 方法会直接触发浏览器的打印功能,弹出打印对话框。这是最简单的方式,适用于打印整个页面内容。

function printPage() {
  window.print();
}

打印指定区域内容

如果需要打印页面中的特定部分,可以通过 CSS 隐藏不需要打印的内容,或者将目标内容提取到一个新窗口进行打印。

js  实现打印

function printSpecificElement(elementId) {
  const printContent = document.getElementById(elementId).innerHTML;
  const originalContent = document.body.innerHTML;

  document.body.innerHTML = printContent;
  window.print();
  document.body.innerHTML = originalContent;
}

使用 CSS 控制打印样式

通过 @media print 可以定义打印时的样式,隐藏不需要的元素(如导航栏、按钮等)。

js  实现打印

@media print {
  .no-print {
    display: none;
  }
  body {
    font-size: 12pt;
  }
}

打印外部页面或 PDF

通过 iframe 加载外部内容并打印,适用于打印远程页面或 PDF 文件。

function printExternal(url) {
  const iframe = document.createElement('iframe');
  iframe.style.display = 'none';
  iframe.src = url;
  document.body.appendChild(iframe);

  iframe.onload = () => {
    iframe.contentWindow.print();
    document.body.removeChild(iframe);
  };
}

打印表格或表单数据

动态生成打印内容,适用于表格、表单等结构化数据的打印。

function printTableData(data) {
  const printWindow = window.open('', '_blank');
  printWindow.document.write('<html><head><title>Print Data</title></head><body>');
  printWindow.document.write('<table border="1"><tr><th>Name</th><th>Value</th></tr>');

  data.forEach(item => {
    printWindow.document.write(`<tr><td>${item.name}</td><td>${item.value}</td></tr>`);
  });

  printWindow.document.write('</table></body></html>');
  printWindow.document.close();
  printWindow.print();
}

注意事项

  • 浏览器兼容性:window.print() 在所有主流浏览器中均支持,但样式可能因浏览器而异。
  • 弹出拦截:某些浏览器可能会拦截 window.open() 触发的打印窗口,需确保用户操作(如点击按钮)触发打印。
  • 打印预览:用户可以通过浏览器打印预览调整布局或选择打印机。

以上方法覆盖了常见打印需求,可根据实际场景选择合适的方式。

标签: js
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 或直接使用 window.location 实现页面跳转,适用于普通跳转或带参数的 URL。 // 方…

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js 实现链表

js 实现链表

链表的基本概念 链表是一种线性数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。与数组不同,链表在内存中是非连续存储的,插入和删除操作效率较高。 链表的实现 在 JavaScrip…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js怎么实现异步

js怎么实现异步

异步实现方法 JavaScript中实现异步操作主要通过以下几种方式: Promise Promise是ES6引入的异步解决方案,用于处理异步操作的成功或失败状态。 const promise =…