纯前端HTML转PDF下载(html2canvas + jsPdf 实现)

本文介绍了使用html2canvas和jsPdf在纯前端环境中将HTML内容转换为PDF并下载的方法。详细阐述了实现过程,包括安装这两个库,理解各自的参数设置,以及在Vue中封装工具函数的实践细节,如自定义页面大小、设置边距和监听下载完成等。
摘要由CSDN通过智能技术生成

纯前端HTML转PDF下载(html2canvas + jsPdf 实现)

最近的一个需求,需要将页面的内容转为PDF并且下载,通过搜索终于实现了想要的效果,以下是一些笔记内容。

实现过程

我们会用到html2Canvas和JsPDF去实现。
1.html2Canvas会将html页面截屏并转为canvas
2.然后利用JsPDF将canvas图片排版后下载保存。

安装好html2canvas和jspdf

html2canvas官网jspdf官网

npm insatll --save html2canvas jspdf

html2canvas参数

Name Default Description
allowTaint false 是否允许跨源图像污染画布
backgroundColor #ffffff 画布背景颜色,如果在DOM中没有指定。设置空的transparen
canvas null Existing canvas 现有的画布元素用作绘图的基础
foreignObjectRendering false 如果浏览器支持,是否使用ForeignObject渲染
imageTimeout 15000 加载图像的超时时间(以毫秒为单位)。 设置为0以禁用超时。
ignoreElements (element) => false 谓词功能,可从渲染中删除匹配的元素。
logging true 启用日志记录以进行调试
onclone null 克隆文档以进行渲染时调用的回调函数可用于修改将要渲染的内容,而不会影响原始源文档。
proxy null 用于加载跨域图像。 如果保留为空,则不会加载跨域图像。
removeContainer true 是否清除HTML2canvas临时创建的克隆DOM元素
scale window.devicePixelRatio 用于渲染的比例尺。 默认为浏览器设备像素比率。
useCORS false 是否尝试使用CORS从服务器加载图像
width Element width canvas的宽度
height Element height canvas的高度
x Element x-offset 裁剪画布X坐标
y Element y-offset 裁剪画布Y坐标
scrollX Element scrollX 渲染元素时要使用的x滚动位置 (for example if the Element uses position: fixed)
scrollY Element scrollY 呈现元素时要使用的y滚动位置, (for example if the Element uses position: fixed)
windowWidth Window.innerWidth 呈现元素时要使用的窗口宽度,这可能会影响诸如媒体查询之类的内容
windowHeight Window.innerHeight 呈现元素时要使用的窗口高度,这可能会影响媒体查询之类的内容

jspdf参数

// jspdf部分源码
constructor(orientation?:any, // 方向
            unit?:string<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值