当前位置:首页 > JavaScript

js 实现打印

2026-03-02 05:36:30JavaScript

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

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

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

打印指定区域内容

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

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 可以定义打印时的样式,隐藏不需要的元素(如导航栏、按钮等)。

@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);
  };
}

打印表格或表单数据

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

js  实现打印

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实现复制

使用document.execCommand方法 在较旧的浏览器中,可以使用document.execCommand('copy')实现复制功能。创建一个临时的textarea或input元素,将需要…

js实现全选

js实现全选

实现全选功能的方法 在JavaScript中实现全选功能通常涉及监听全选复选框的点击事件,并根据其状态控制其他复选框的选中状态。以下是几种常见的实现方式: 基础DOM操作实现 通过获取所有目标复选框…

js实现日历

js实现日历

实现日历的基本思路 使用JavaScript实现日历的核心是动态生成日期表格,并处理月份切换逻辑。需要计算当前月的天数、起始星期几,并动态渲染到页面上。 获取当前日期信息 通过Date对象获取当前年…

js轮播图实现原理

js轮播图实现原理

轮播图的基本原理 轮播图通过动态切换显示的内容(图片、文本等)实现视觉上的滑动效果。核心原理是利用CSS和JavaScript控制元素的显示与隐藏,或通过变换位置实现滑动动画。 实现方法一:CSS…

jquery js

jquery js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够更高…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似:…