首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

前端生成pdf,jspdf+html2Canvas使用(vue)

前端生成pdf效果不如后端生成效果好,但也可以生成。 本文主要使用 jspdf+html2Canvas 实现html转pdf。...install jspdf --save 2、安装html2Canvas: npm install --save html2canvas 二、代码 1. html 这里使用 iframe 嵌套需要转成...pdfhtml文件; 如果pdf内容是动态,可以将html丢给后端,让后端使用freemarker ftl模板语言或是啥其他模板语言更改即可,然后将整个html作为字符串传给前端,前端再使用iframe...生成多页 分页会出现问题:比如图片裂开,表格某一行从中间断开了等等....我用方法手动去调整iframe宽、高+html2Canvaswidth、height+contentWidth、contentHeight...,一点点试出来合适值(应该有更好方法,但是技术有限) // 多页pdf-转换后样式需要手动调整iframe宽、高+html2Canvaswidth、height+contentWidth、contentHeight

5.8K00
您找到你想要的搜索结果了吗?
是的
没有找到

Javascript 将 HTML 页面生成 PDF 并下载

我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行“截图”。...由于html2canvas只能将它能处理生成canvas image,因此渲染出来结果并不是100%与原来一致。但它不需要服务器参与,整个图片都由客户端浏览器生成,使用很方便。...使用 使用API也很简洁,下面代码可以将某个元素渲染成canvas: html2canvas(element, { onrendered: function(canvas) {...文字生成PDF 使用方法如下: // 默认a4大小,竖直方向,mm单位PDF var doc = new jsPDF(); // 添加文本‘Download PDF’ doc.text('Download...); doc.save('a4.pdf') 生成pdf需要把转化元素添加到jsPDF实例中,也有添加html功能,但某些元素无法生成在pdf中,因此可以使用html2canvas + jsPDF方式将页面转成

4.1K20

Javascript 将 HTML 页面生成 PDF 并下载

我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行“截图”。...由于html2canvas只能将它能处理生成canvas image,因此渲染出来结果并不是100%与原来一致。但它不需要服务器参与,整个图片都由客户端浏览器生成,使用很方便。...使用 使用API也很简洁,下面代码可以将某个元素渲染成canvas: html2canvas(element, { onrendered: function(canvas) { // canvas...文字生成PDF 使用方法如下: // 默认a4大小,竖直方向,mm单位PDF var doc = new jsPDF(); // 添加文本‘Download PDF’ doc.text('Download...); doc.save('a4.pdf') 生成pdf需要把转化元素添加到jsPDF实例中,也有添加html功能,但某些元素无法生成在pdf中,因此可以使用html2canvas + jsPDF方式将页面转成

3.1K10

Javascript 将 HTML 页面生成 PDF 并下载

我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行“截图”。...由于html2canvas只能将它能处理生成canvas image,因此渲染出来结果并不是100%与原来一致。但它不需要服务器参与,整个图片都由客户端浏览器生成,使用很方便。...使用 使用API也很简洁,下面代码可以将某个元素渲染成canvas: html2canvas(element, { onrendered: function(canvas) {...文字生成PDF 使用方法如下: // 默认a4大小,竖直方向,mm单位PDF var doc = new jsPDF(); // 添加文本‘Download PDF’ doc.text('Download...); doc.save('a4.pdf') 生成pdf需要把转化元素添加到jsPDF实例中,也有添加html功能,但某些元素无法生成在pdf中,因此可以使用html2canvas + jsPDF方式将页面转成

2.3K30

Vue 一键导出 PDF

Vue 一键导出 PDF 生成方案 生成 PDF 基本思路大多一致,先用 html2canvas 将 DOM 元素转换为 canvas,再利用 canvas toDataURL 方法输出为图片,最后使用...html2canvas 是一个著名开源库,可将一个元素渲染为 canvas,只需要简单调用 html2canvas(element[, options]) 即可。...该方法会返回一个包含有 canvas 元素 promise。 jsPDF 是一个基于 HTML5 客户端解决方案,用于在客户端 JavaScript 中生成 PDF 库,支持文本、图片等格式。...代码实现 根据以上方案,实现一个 vue 插件,提供 PDF 一键导出功能: import html2Canvas from 'html2canvas' import JsPDF from 'jspdf...allowTaint: false, // 允许图片跨域,和 useCORS 二者不可共同使用 tainttest: true, // 检测每张图片都已经加载完成

1.7K20

html2canvasjspdf 相结合生成 pdf 内容被截断终极解决方案

最近接收到一个优化需求:就是对之前行程文档图文介绍添加打印生成 pdf 功能 当然,我们需要依赖 html2canvasjspdf.min.js 这两个库,html2canvas 是用于生成...首先我们需要引入 html2canvas, jspdf import html2canvas from 'html2canvas' import '....,碰到这一行颜色都是全白,代表是从这里开始截断,将这个高度开始将往下内容都放到下一页 html2canvas(el, { allowTaint: true, useCORS: true...=> { //生成pdfhtml页面高度 var leftHeight = canvas.height var a4Width = 595.28 var a4Height...,我们方案是不使用一个表格来填充所有数据,这就有点像那个分页加载数据一样了,如果我们使用多个表格来循环这些数据,然后每个表格高度设置为 a4 纸高度,这样也许能够做到不被截断了

3.7K31

基于Vue.js大型报告页项目实现过程及问题总结(二)

,我们在前端也不好调试,所以选择了前端打印pdf方案, 查了许多资料后决定使用html2canvasjsPDF结合使用来生成pdf html2canvas : 通过遍历页面DOM结构,收集所有元素信息及相应样式...,渲染出canvas image jsPDF:可以通过文字和图片生成pdf 看了他们作用相信观众老爷们也知道要怎么结合使用了,很简单在点击下载按钮通过html2canvas将页面转换为canvas...image然后通过jsPDF再进行pdf转换就ok了,接下来上简单教程; html2canvas 我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行‘截图’。...使用 使用API也很简洁,下面代码可以将某个元素渲染成canvas: html2canvas(element, { onrendered: function(canvas) {...); doc.save('a4.pdf') 生成pdf需要把转化元素添加到jsPDF实例中,也有添加html功能,但某些元素无法生成在pdf中,因此可以使用html2canvas + jsPDF方式将页面转成

2.7K100

Javascript将HTML转成PDF并下载「支持多页」

本文章作者是「linwalker」,是一名优秀开发者。 html2canvas 简介 我们可以直接在浏览器端使用html2canvas,对整个或局部页面进行"截图"。...由于html2canvas只能将它能处理生成canvas image,因此渲染出来结果并不是100%与原来一致。但它不需要服务器参与,整个图片都由客户端浏览器生成,使用很方便。...使用 使用API也很简洁,下面代码可以将某个元素渲染成canvas: html2canvas(element, { onrendered: function(canvas) {...文字生成PDF 使用方法如下: // 默认a4大小,竖直方向,mm单位PDF var doc = new jsPDF(); // 添加文本‘Download PDF’ doc.text('Download...实例中,也有添加html功能,但某些元素无法生成在pdf中,因此可以使用html2canvas + jsPDF方式将页面转成pdf。

3.7K20

教你两招,轻松搞定html页面导出为pdf文件

所以我这边最后只能退而求其次,使用了其他技术来实现。 接着我们来看一下html2canvas+jsPDF方式 ? ? 这种方式是采用以上两个开源项目来实现。网上把它称作是一种曲线救国方式。...首先我们利用html2canvasHTML网页保存成canvas图片,然后我们在利用jsPDF将canvas图片生成PDF文件。...而且itext7更多用于需要去维护PDF模板场景,并不适合我本次需求。所以我最终使用html2canvas+jsPDF方式来实现。...实战案例 html2canvas+jsPDF 现在,我们来看看html2canvas+jsPDF实现方式 首先需要引入html2canvasjsPDF依赖文件。大家可以从官网下载。...//生成pdfhtml页面高度 var leftHeight = contentHeight //页面偏移

3.1K30

前端vue项目,把某个div盒子或当前页面生成pdf文件并下载。

安装依赖 1. npm install --save html2canvas // 作用是html转图片 2. npm install jspdf --save // 再将图片转为pdf 目录标题...安装依赖 一、全局方法 (无论哪个页面都可调用) 二、局部方法 一、全局方法 (无论哪个页面都可调用) 1、新建一个htmlToPdf.js文件,拷入以下代码 import html2Canvas from...'html2canvas' import JsPDF from 'jspdf' export default{ install (Vue, options) { Vue.prototype.getPdf.../htmlToPdf';//路径根据自己js文件来引入 Vue.use(htmlToPdf); 3、事件 给需要生成pdf盒子设置id:pdfDom 给按钮一个全局事件方法getPdf(...'个人征信报告'),参数是文件名 二、局部方法 1、组件内引入 import html2Canvas from 'html2canvas' import JsPDF from 'jspdf'

97820

html页面导出为pdf(jsPDF、iText、wkhtmltopdf)

一、html2canvas+jsPDF ---- 这种方式原理是利用html2canvas遍历页面中dom节点,渲染成canvas image,再用jsPDF把canvas image转化为pdf,...div> javascript(需要依赖jspdfhtml2canvas相关js): <script src="js...//<em>未</em>生成pdf<em>的</em><em>html</em>页面高度 var leftHeight = contentHeight; //pdf...目前发现<em>的</em>两个比较明显<em>的</em>缺点: 1、生成<em>的</em>pdf质量不高,失真比较严重(不过在github上这个<em>方法</em>可以适当提高下生成pdf<em>的</em>清晰度https://github.com/niklasvh/<em>html2canvas</em>...---- wkhtmltopdf是一个可以把<em>html</em>转为pdf<em>的</em>插件,有windows、linux等平台<em>的</em>版本,最大<em>的</em>特点就是<em>使用</em>简单,语言无关性。

6.5K10

html2canvas 出现图片无法展示

html2canvas 出现图片无法展示 我有一个大胆想法,我要一直写到死,那一天我不写了,可能就死了。哈哈。 哈喽,大家好,我是你们攻城狮,人贱人爱 Ken,一个永远充满激情的人。...最近接收到一个优化需求:就是对之前行程文档图文介绍添加打印生成 pdf 功能 当然,我们需要依赖 html2canvasjspdf.min.js 这两个库,html2canvas 是用于生成...canvas,jspdf.min.js 是用于生成 pdf 。...首先我们需要引入 html2canvas, jspdf // 导出页面为PDF格式 import html2Canvas from 'html2canvas' import '..../jspdf.min.js' 我们将在 Vue 原型上面添加一个全局方法,传入两个参数 1 selector 选择元素 2 title 标题 判断选择元素是否存在,不存在抛出错误,让用户知道 export

2.3K30
领券