当前位置:首页 > JavaScript

js实现打印

2026-04-03 18:02:04JavaScript

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

window.print() 是 JavaScript 中最简单的打印方法,会直接调用浏览器的打印功能。

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

打印特定区域内容

若只需打印页面某部分内容,可通过 CSS 隐藏其他区域。

js实现打印

<style>
@media print {
  body * {
    visibility: hidden;
  }
  #print-section, #print-section * {
    visibility: visible;
  }
  #print-section {
    position: absolute;
    left: 0;
    top: 0;
  }
}
</style>

<button onclick="printDiv('print-section')">打印区域</button>
<div id="print-section">要打印的内容</div>

<script>
function printDiv(divId) {
  window.print();
}
</script>

使用打印样式表优化打印效果

创建专门的打印样式表确保打印布局合理。

<link rel="stylesheet" type="text/css" media="print" href="print.css">

打印新窗口内容

打开新窗口并打印其内容,不影响当前页面。

js实现打印

function printNewWindow(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.focus();
  printWindow.print();
  printWindow.close();
}

打印前/后事件处理

通过 window.onbeforeprintwindow.onafterprint 添加打印前后逻辑。

window.onbeforeprint = function() {
  console.log('即将打印');
};

window.onafterprint = function() {
  console.log('打印完成');
};

打印 PDF 文件

使用浏览器内置 PDF 查看器打印 PDF 文件。

function printPDF(pdfUrl) {
  const iframe = document.createElement('iframe');
  iframe.style.display = 'none';
  iframe.src = pdfUrl;
  document.body.appendChild(iframe);
  iframe.onload = function() {
    iframe.contentWindow.print();
  };
}

注意事项

  • 跨域限制可能导致某些打印方法失效
  • 移动端浏览器对打印的支持可能有限
  • 某些浏览器插件可能干扰打印功能
  • 打印样式需单独测试确保效果符合预期

标签: js
分享给朋友:

相关文章

js实现图片预览

js实现图片预览

使用FileReader API实现图片预览 通过FileReader对象读取用户选择的图片文件并显示预览: const input = document.getElementById('image…

js实现换肤

js实现换肤

使用CSS变量实现换肤 通过CSS变量可以轻松实现主题切换功能。CSS变量在根元素中定义,通过JavaScript动态修改这些变量值。 :root { --primary-color: #349…

js类实现

js类实现

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

js实现下拉菜单

js实现下拉菜单

使用HTML和CSS创建基础结构 HTML部分需要包含一个触发下拉的按钮和隐藏的下拉菜单内容: <div class="dropdown"> <button class="dr…

js图片上传实现

js图片上传实现

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API实现基础图片上传功能。HTML部分需要设置accept="image/…

js实现轮播代码

js实现轮播代码

基础轮播实现 使用HTML、CSS和JavaScript创建一个简单的轮播效果。HTML部分定义轮播容器和图片元素。 <div class="carousel"> <div c…