当前位置:首页 > JavaScript

js实现打印页面

2026-04-04 02:51:19JavaScript

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

window.print() 是浏览器内置的打印功能,调用后会弹出打印对话框,用户可以选择打印机或保存为 PDF。

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

自定义打印样式

通过 CSS 的 @media print 可以定义打印时的样式,隐藏不需要打印的元素或调整布局。

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

打印特定区域

如果需要只打印页面的一部分,可以创建一个包含目标内容的临时窗口或 iframe。

function printElement(elementId) {
  const element = document.getElementById(elementId);
  const printWindow = window.open('', '_blank');
  printWindow.document.write('<html><head><title>Print</title></head><body>');
  printWindow.document.write(element.innerHTML);
  printWindow.document.write('</body></html>');
  printWindow.document.close();
  printWindow.print();
}

打印按钮示例

在 HTML 中添加一个打印按钮,点击时触发打印功能。

<button onclick="window.print()">Print Page</button>

打印前和打印后事件

通过 window.onbeforeprintwindow.onafterprint 可以监听打印事件,执行特定操作。

window.onbeforeprint = function() {
  console.log('Printing will start');
};

window.onafterprint = function() {
  console.log('Printing completed');
};

打印预览控制

某些浏览器支持打印预览,但无法直接通过 JavaScript 控制,用户需要手动操作。

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

打印设置选项

通过 CSS 可以控制打印的分页、边距等设置。

js实现打印页面

@media print {
  @page {
    size: A4;
    margin: 1cm;
  }
  h1 {
    page-break-before: always;
  }
  p {
    page-break-inside: avoid;
  }
}

注意事项

  • 打印功能依赖于浏览器实现,不同浏览器可能有差异。
  • 某些浏览器可能会阻止弹出窗口,需要用户允许。
  • 打印样式可能需要多次调试以达到最佳效果。

以上方法可以灵活组合,根据具体需求实现不同的打印功能。

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

相关文章

css制作音乐盒页面

css制作音乐盒页面

音乐盒页面设计思路 音乐盒页面通常需要结合音频播放功能与视觉设计。以下是实现一个基础音乐盒页面的关键步骤。 HTML结构搭建 基础HTML需包含音频播放器控件和播放列表: <!DOC…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js jquery

js jquery

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

vue 实现页面注册

vue 实现页面注册

Vue 实现页面注册功能 在 Vue 中实现用户注册功能通常需要以下步骤: 创建注册表单组件 使用 Vue 的单文件组件结构创建一个注册表单,包含必要的输入字段如用户名、邮箱、密码等。 <t…

实现vue页面回退

实现vue页面回退

使用 Vue Router 的编程式导航 在 Vue 组件中调用 this.$router.go(-1) 可以实现页面回退。该方法通过操作浏览器历史记录栈实现后退功能,类似于点击浏览器的后退按钮。…

js类实现

js类实现

使用类实现 JavaScript 功能 在 JavaScript 中,类(Class)是一种语法糖,基于原型继承机制。通过 class 关键字可以更直观地定义对象模板。 基本类定义 class…