JavaScript一键导出高质量PDF文件

摘要

本文可实现将页面导出为pdf格式的文件

操作便捷且内置丰富插件。

一、引入js插件

html2canvas.js

jspdf.debug.js 

插件下载地址在文章最下方

二、导出范围外层元素添加id

<div id="pdfDom"></div>

三、设置导出按钮

<a href="javascript:;" id="exportReport">导出</a>

四、JS代码相关配置

let downPdf = document.getElementById("exportReport");//点击导出事件
downPdf.onclick = function () {
    let title = '我的简历';
    let targetDom = document.querySelector('#pdfDom');
    window.pageYoffset = 0;
    document.documentElement.scrollTop = 0;
    document.body.scrollTop = 0;
    html2canvas(targetDom,
JS案例:将前端页面导出为PDF 前言: 记录一下最近的一个需求,产品需要打印表单凭证,需要实现将选中页面的元素或者是组件导出为PDF,方便打印 使用到的JS库:html2canvas(截取页面生成canvas),jsPDF(使用JS生成PDF) 下面我针对该需求实现一个简单的Demo,并且分享一下遇到的问题 首先,我选择了懒加载的案例作为测试对象,因为图片可以检测截图效果,并且有滚动加载长页面 我们把整个demo分为两部分,分别是使用上述两个插件实现基本功能 使用html2canvas截屏生成canvas let prin 阅读详情

相关推荐

JS将图片转pdf,jspdf的使用

一个用JavaScript生成PDF的库。addImage第一个参数为图片,可以为链接、字节等,第二个参数为图片格式,第三和第四代表图片编写到当前页的哪个位置,第五和第六代表绘制图片的...

砷碲 - Shendi 6953

使用 Node.js 代码将网页一键导出成本地 PDF 文件

本文介绍了一种使用Playwright工具将网页完整保存为PDF的方案,解决了浏览器直接打印PDF时常见的分页断裂问题。通过Node.js脚本,可以自动滚动页面、等待内容加载,并注入CSS分页控制规则(如break-inside、page-break等),确保图片、表格等元素不会被截断。相比浏览器原生打印功能,该方案提供了更精细的PDF生成控制,包括页边距设置、打印样式调整等,最终生成更符合预期的PDF文档。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 166

基于pdf.js的Web端PDF文件高效显示与交互实现

PDF.js 是由 Mozilla 发起并维护的开源 JavaScript 库,旨在通过纯前端技术实现 PDF 文档的解析与渲染。它无需依赖任何插件或后端服务,直接在浏览器中将 PDF 内容绘制到 Canvas 上,支持跨平台、跨设备的无缝浏览体验。提供 UI 控件如:</div>结合 ARIA 标签提升无障碍访问体验。综上所述,pdf.js不仅能实现高质量的 PDF 渲染,还提供了强大而灵活的交互扩展能力,为构建企业级文档查看平台奠定了坚实基础。

weixin_42400643的博客 3481

旅行青蛙破解汉化教程——蹭个热度

汉化破解版资源(无尽三叶草与点券): https://github.com/wisdombyzf/lxqw/blob/master/lxqw_zf.apk 截图: 破解方法: 工具: 1,APKIDE https://www.pd521.com/thread-818-1-2.html 2,dnspy https://down.52pojie.

github_38838414的博客 3781

毫米波与太赫兹:十射线模型建模

Pt=1,只考虑地面和前后两面墙的反射,反射系数为0.7。用matlab设计程序并实现该功能。,总计考虑10条路径,求出接收功率随。

SupermarketX的博客 783

链路监控pinpoint3.0.3安装部署(2)

本文详细介绍了Pinpoint 3.0.3分布式链路监控系统的安装部署过程。主要内容包括:1)数据库安装(HBase、MySQL、Redis、Pinot)的详细配置步骤;2)中间件Zookeeper和Kafka的安装;3)Pinpoint三大组件的部署:Collector、Web和Batch的配置文件修改和启动脚本。文章特别强调了使用-starter-exec.jar包的重要性,并提供了各组件所需的详细参数配置,包括数据库连接、Zookeeper地址、Kafka配置等关键信息。

zouzou_888的博客 1366

网络工程师的Python入门实战:手把手教你写交换机配置备份脚本

本文详细介绍了如何利用Python为网络工程师开发一个高效的交换机配置备份脚本,涵盖环境搭建、设备连接方案、智能设备发现、多因素认证、异常处理、配置差异对比等关键步骤。通过实战案例展示如何将备份时间从4小时缩短至15分钟,显著提升运维效率,特别适用于华为交换机等设备的配置导出与备份需求。

weixin_30291791的博客 296

单片机通识之UART通信协议(如何用汇编实现)

使用汇编实现UART通信

smart_num_1的博客 991

【大模型】AI 辅助编程操作实战使用详解

AI 编程实战使用详解

congge 8453

1553B总线介绍及其硬件方案设计

军用1553B总线 1.简介 简单介绍可参考(https://blog.csdn.net/ScilogyHunter/article/details/108444231)博主写的很详细。 1553B总线是MIL-STD-1553总线的简称,其中B就是BUS,MIL-STD-1553B总线是飞机内部时分制命令/响应式多路复用数据总线。1553B数据总线标准是20世纪70年代由美国公布的一种串行多路数据总线标准。1553B总线能挂31个远置终端,1553B总线采用指令/响应型通信协议,它有三种终端类型: BC:

小幽余生不加糖 1万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

下一篇: JavaScript三步实现url生成二维码
前端开发阳仔
博客等级 码龄7年 1361粉丝 10原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值