JS实现WEB页面打印及预览的三个方法
4星 · 超过85%的资源 需积分: 10 101 浏览量
更新于2024-09-12
收藏 20KB DOCX 举报
js打印WEB页面与打印预览
在WEB开发中,打印WEB页面是非常常见的需求。特别是在需要生成报告、发票、证书等文档时,打印功能是必不可少的。本文将介绍三种常用的js打印WEB页面方法,并对每种方法进行详细的讲解。
**第一种方法:指定不打印区域**
在这个方法中,我们使用CSS来定义一个`.noprint`的class,将不打印的内容放入这个class内。在HTML中,我们可以使用 `<p class="noprint">将不打印的代码放在这里。</p>` 来标记不打印的内容。然后,在CSS中,我们可以使用 `.noprint{visibility:hidden}` 来隐藏这些内容。在点击打印按钮时,我们可以使用 `<a href="javascript:window.print()" target="_self">打印</a>` 来调用浏览器的打印功能。
这种方法非常简单易用,但它有一个缺点,那就是需要手动标记不打印的内容,并且需要在CSS中定义隐藏规则。如果我们需要打印的内容很多,这个方法可能不太实用。
**第二种方法:指定打印区域**
在这个方法中,我们可以使用JavaScript来指定打印区域。我们可以将要打印的内容放入一个 `<span id='div1'>把要打印的内容放这里</span>` 中,然后使用JavaScript函数来打印这些内容。在点击打印按钮时,我们可以使用 `<a href="javascript:printme()" target="_self">打印</a>` 来调用JavaScript函数。在函数中,我们可以使用 `document.body.innerHTML=document.getElementById('div1').innerHTML+'<br/>'+document.getElementById('div2').innerHTML;` 来组合要打印的内容,然后使用 `window.print()` 来调用浏览器的打印功能。
这种方法非常灵活,可以根据需要自由地组合要打印的内容。但是,它需要编写JavaScript代码来实现打印功能,这可能需要一些开发经验。
**第三种方法:使用新窗口打印**
在这个方法中,我们可以使用JavaScript来弹出一个新窗口,然后在新窗口中显示要打印的内容。在新窗口中,我们可以使用 `window.print()` 来调用浏览器的打印功能,然后自动关闭新窗口。
这种方法非常适合需要打印的页面排版和原WEB页面相差很大的情况。例如,如果我们需要打印一个表单,但表单的排版和原WEB页面不同,这种方法可以非常方便地实现打印功能。
**控制打印设置**
在打印时,我们可能需要控制打印的设置,例如纸张大小、打印方向、页边距等。在JavaScript中,我们可以使用 `factory.printing` 对象来控制打印设置。例如,我们可以使用 `factory.printing.SetMarginMeasure(2)` 来设置页边距为2英寸。我们也可以使用 `factory.SetPageRange(false,1,3)` 来设置打印的页码范围。
js打印WEB页面有多种方法,每种方法都有其优缺点。根据需要,我们可以选择合适的方法来实现打印功能。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2012-11-03 上传
2010-04-21 上传
2019-07-27 上传
2021-10-19 上传
2020-10-27 上传
2011-07-21 上传
lihaoheng
- 粉丝: 0
- 资源: 1
最新资源
- pyg_lib-0.3.1+pt20cpu-cp38-cp38-linux_x86_64whl.zip
- UnwelcomeCaller:在 Android 手机上分享有关不受欢迎来电者的信息
- vendor-directory-api:api访问供应商目录V1.0功能
- cd_app:仍在巩固节点技能
- action-release-download:GitHub Action下载发行工件
- WPFBasics-1:https://www.youtube.comwatch?v = Vjldip84CXQ&list = PLrW43fNmjaQVYF4zgsD0oL9Iv6u23PI6M&index = 1&ab_channel = AngelSix
- UNA-Bravo:国立大学课堂中的 Grupo Bravo 远程存储库
- ANNOgesic-0.7.27-py3-none-any.whl.zip
- zeal-redux-utils:使用Redux的实用程序功能
- netlifyTest
- Tieba_Sign-Go---Copy:百度贴吧 云签到
- 计时器
- COMP9220_Gomoku
- sass-jest:Jest中的Sass单元测试
- libCplus:精彩的库,用C语言提供了许多有用的功能,算法和数据结构,将其与-l9wada链接
- folk-website