pdfMake前端导出pdf
目前导出PDF还是后端(或nodejs)比较好. (如果没有必要)
导出方案
后端: IText,wkhtmltopdf...等等.
前端: jsPdf,pdfKit,react-pdf...等等.
现在网上一提到前端导出pdf的绝大多数都是html2canvas + jspdf 实现html转pdf.这是非常棒的一个解决方案,不过它有一个弊端就是内容放大之后会失真.如果遇到这类需求就只能含泪放弃了.html2canvas主要解决的是jspdf中文乱码的问题,因为是外国小哥开发的,所以就没考虑过中文兼容.这些或多或少的pdf框架都有中文乱码的问题.
还有一种是pdfKit的二次封装 pdfMake .这也是我所采用的方案,相比较jspdf和pdfkit,使用起来更易上手.也有中文乱码的解决方案.github地址 官方网站
使用pdfMake
这里我又用到了webWorker,具体原因和配置我后面解释.
// UI线程--------------------------------------------
import Worker from './components/imppdf.worker.js';
let worker = new Worker(); // 传入 worker 脚本文件的路径即可
const dd = {
content: [
'中英文测试',
'Another paragraph, this time a little bit longer to make sure, this line will be divided into at least two lines'
],
defaultStyle: {
font: &#