pdfmake 让我们看一下我们的第二个开源库 pdfmake。NPM 每周下载量超过 30 万次,寿命长达 7 年,这个库甚至比 jsPDF 更受欢迎,更资深。 在为我的 demo 程序构建导出功能时,pdfmake 的配置要比 jsPDF 难得多。 原因是 pdfmake 使用你提供的数据从头开始构建 PDF 文档,而不是将页面上现有的 HTML 内容转换为 PDF。 这导致我的代码有很多重复,我先在 HTML 中写了表格,然后用 pdfmake 为 PDF 导出重新建表。 总体看来,pdfmake 最大的优势在于从头开始构建 PDF。例如,如果你想根据某些订单数据生成发票,而你实际上并没有在 web 应用程序的页面上显示发票,那么 pdfmake 将是一个很好的选择。
备注:由于我用了prettier进行相关的格式化,所以这里的代码行数仅作参考 pdf相关导出 因为tableExport这个插件,如果有JsPDF、jsPDF-Autoable、pdfmake的加持的话 依赖 jquery.js FileSaver.js jsPdf.js jsPDF.Autoable.js pdfmake.js tableExport.js 核心代码 $(document).ready 项目地址如下:http://zhengjiangtao.cn/show/office/export-pdf.html 踩坑 pdfmake导出中文乱码显示 “口” 源码112行-121行 pdfmake : { enabled: false, // true: Use pdfmake as pdf producer instead of jspdf and jspdf-autotable : https://github.com/bpampuch/pdfmake html2canvas: https://github.com/niklasvh/html2canvas html2canvas
> angular Angular-animate --> angular ui-grid --> angular,angular-touch,angular-animate,csv,pdfmake /lib/pdfmake.js"></script> 11 <script src="../lib/vfs_fonts.js"></script> 12 <script src="..
-- <script src="{% static 'datatables/js/<em>pdfmake</em>.min.js'%}" type="text/javascript"></script> --> -- <script src="{% static 'datatables/js/<em>pdfmake</em>.min.js'%}" type="text/javascript"></script> -->
-- <script src="{% static 'datatables/js/<em>pdfmake</em>.min.js'%}" type="text/javascript"></script> --> -- <script src="{% static 'datatables/js/<em>pdfmake</em>.min.js'%}" type="text/javascript"></script> -->
下面是对应的工具: jsPDF pdfmake 推荐 除了基于javascript的方法(它要求打印内容创建完全不同的表示形式)之外,这些解决方案的优点在于它们是可互换的。 wkhtmltopdf paged.js Vivliostyle Prince Antenna House PDFReactor DocRaptor WeasyPrint PDFCrowd mPDF jsPDF pdfmake
js/plugins/datatables/datatables.min.js' Copying '/opt/jumpserver/apps/static/js/plugins/datatables/pdfmake.min.js.map
Pdfmake是一个可以在浏览器里直接生成和打印PDF文档的JavaScript库。 使用pdfmake,你可以创建一个支持表、列和富样式等结构元素的文档,再通过辅助方法创建并打印或者下载为不包含客户端JavaScript的PDF文件 在我们的经验中,相比其他办法而言,通过在一开始创建大量详尽的设计图表来开发软件系统
同样我们也不太能在短时间内完整熟悉整个PDF数据格式的标准,所以我们同样还是借助于库来生成PDF文件,这里我们选择了pafmake来生成PDF,通过pdfmake我们可以通过JSON配置的方式自动排版和生成 + "JetBrainsMono-Italic.ttf", bolditalics: FONT_PATH + "JetBrainsMono-BoldItalic.ttf", }, }; 在pdfmake 关于pdfmake的类型控制是非常松散的,我们可以轻松地实现符合要求的格式嵌套,当然不合法的格式嵌套还是运行时校验的,我们可以做的是尽可能地将这部分校验提升到类型定义时,例如ContentText实际上是不能直接以 pdfmake是不支持直接生成Outline的,所以我们需要借助其他的库来实现这个功能,在调研了很长时间之后我发现了pdf-lib这个库,可以用来处理已有的pdf文件并且生成Outline。 // 通过`pdfmake`生成`pdf` const printer = new PdfPrinter(FONTS); const pdfDoc = printer.createPdfKitDocument
--Excel--> <script src="https://cdnjs.cloudflare.com/ajax/libs/<em>pdfmake</em>/0.1.53/<em>pdfmake</em>.min.js"></script --PDF--> <script src="https://cdnjs.cloudflare.com/ajax/libs/<em>pdfmake</em>/0.1.53/vfs_fonts.js"></script
下面有两个相关的工具: jsPDF pdfmake