不过这两种方式都存在一个问题:内容截断的问题:
有时候刚好分页裁剪时刚好在一行字的正中间,暂时没有解决办法,有待思考,等找到解决方案再来更新。
jspdf-html2canvas 网页导出pdf 自动根据dom子节点的高度进行分页,避免dom的内容在分页的时候被截断说明直接上代码
我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:
要导出的内容用 .pdf 包裹 ,默认会以.pdf的子节点进行整块的高度计算,如果孙节点需要整块计算,孙节点的父节点上增加.pdf;
如果导出的内容里面有外部图片引用,需要配置外部图片支持跨域;
增加了 图片拖拽 功能,你可
首先引入js
<script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.0.272/jspdf.debug.js"></script>
其次定义一个点击导出的按钮(我用的时layui,你们可以随便设置,只要是
<script lang="ts">
import { Vue, Component, Prop } from "vue-property-decorator";
import html2Canvas from "html2canvas";
import jsPdf from "jspdf";
@Component({ name.
刚好碰到这么一个需求,前端需要将后端返回的json对象数据生成表单样式的pdf文件,首次接触所以简单记录一下。经过反复查找大致流程为:现在页面画一个表单=====>拿到数据将数据放表单中=====>给表单最外层加个ref利用html2Canvas生成base64图片=====>最后用jspdf将图片生成pdf。先上个图:
然后将拿到的数据放入表单(表单大家都会吧,我就不往出贴了,放个图好了,主要看下ref的位置,一些其他的样式问题可根据自身需求调整)中 通过引用并调用html2canvas先生成ba