当前位置:首页 > JavaScript

js实现打印页面

2026-01-30 11:12:56JavaScript

使用window.print()方法

调用window.print()可以直接触发浏览器的打印功能,弹出打印对话框。这是最简单的实现方式,适用于纯打印当前页面内容。

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

打印指定区域内容

通过CSS控制仅打印页面特定部分,隐藏其他无关元素。在CSS中定义@media print规则,结合display: none隐藏非目标区域。

js实现打印页面

<style>
  @media print {
    body * {
      display: none;
    }
    .print-area, .print-area * {
      display: block;
    }
  }
</style>

<div class="print-area">仅打印此部分内容</div>
<button onclick="window.print()">打印</button>

动态生成打印内容

使用JavaScript创建隐藏的iframe或新窗口,将自定义内容注入后打印,避免影响原页面布局。

js实现打印页面

function printCustomContent(content) {
  const printWindow = window.open('', '_blank');
  printWindow.document.write('<html><head><title>打印</title></head><body>');
  printWindow.document.write(content);
  printWindow.document.write('</body></html>');
  printWindow.document.close();
  printWindow.print();
}

打印样式优化

通过CSS调整打印页面的边距、字体和分页效果,提升打印输出的可读性。

@media print {
  @page {
    size: A4;
    margin: 1cm;
  }
  body {
    font-size: 12pt;
    line-height: 1.5;
  }
  .page-break {
    page-break-after: always;
  }
}

处理打印事件

监听beforeprintafterprint事件,在打印前后执行特定逻辑(如临时修改DOM)。

window.addEventListener('beforeprint', () => {
  document.body.style.backgroundColor = 'white';
});

window.addEventListener('afterprint', () => {
  document.body.style.backgroundColor = '';
});

标签: 页面js
分享给朋友:

相关文章

vue实现两个登录页面

vue实现两个登录页面

实现两个登录页面的方法 在Vue中实现两个不同的登录页面,可以通过路由配置和组件分离来完成。以下是具体实现步骤: 配置路由 在router/index.js文件中定义两个不同的路由路径,分别指向不…

vue实现结算页面

vue实现结算页面

Vue 实现结算页面的核心步骤 数据绑定与表单验证 使用 Vue 的 v-model 绑定表单数据,例如收货地址、支付方式等。通过 Vue 的 computed 属性计算总价,结合 v-if 或 v-…

vue实现转页面

vue实现转页面

Vue 实现页面跳转的方法 在 Vue 中实现页面跳转通常可以通过以下几种方式完成,具体取决于项目结构和需求。 使用 router-link 组件 router-link 是 Vue Router…

vue实现页面切换

vue实现页面切换

Vue 实现页面切换的方法 在 Vue 中实现页面切换通常可以通过以下几种方式完成,具体选择取决于项目需求和架构设计。 使用 Vue Router Vue Router 是 Vue.js 官方推荐…

vue实现页面缓存

vue实现页面缓存

使用 <keep-alive> 组件实现缓存 Vue 内置的 <keep-alive> 组件可以缓存动态组件或路由组件。通过包裹需要缓存的组件,可以保留其状态避免重复渲染。…

vue实现页面截屏

vue实现页面截屏

使用html2canvas库实现截屏 安装html2canvas库 npm install html2canvas --save 在Vue组件中引入并使用 import html2canvas f…