【实战分享】js生成word(docx),以及将word转成pdf解决方案分享 |
您所在的位置:网站首页 › 如何将文档转换成pdf › 【实战分享】js生成word(docx),以及将word转成pdf解决方案分享 |
本文将记录如何用js生成word文件,并在node服务器端将word转换成pdf。记录的代码均是在真实业务场景中使用成功的代码,没有记录中间踩坑的过程。想直接抄答案的家人们可以跳转到1.2 程序编写部分,最终效果图可在1.2 程序编写部分中4. 效果展示模块查看。 如果有更好的解决方案,也欢迎大家在评论区讨论、分享~ 本文demo存放地址:github.com/ChicKo1108/… 一、DocxTemplater:使用js生成word老铁们,话不多说,先上链接:Docxtemplater | Word, Powerpoint, Excel generation using templates in your application | docxtemplater DocxTemplater是一个基于模板生成最终文件的插件,它通过一个简单的{tag}语法将预设的数据填入模板Word或者Powerpoint中,帮助开发者快速生成最终文件。 由于DocxTemplater是基于{tag}变量替换,得到最终的文件,因此文件的样式是非常可控的。在开发过程中,设计师只需要出一版最终的成品word,开发者将内容替换成对应的{tag}即可(再也不用被设计师追着还原设计稿了!)。 DocxTemplater是一个收费的库,但是它拥有免费的开源版本,对于我所涉及的业务,使用免费版本完全可以解决。 开源版包括的功能包括: {tag}替换 条件判断 循环 图片渲染除免费版外,它还拥有pro plan(950€ per\year)、Entreprise plan(24500€ per\year),具体功能大家可以前往官网查看。(但是白嫖的永远是最香的!) 由于我的业务只涉及生成word和pdf,所以本文只介绍word的相关内容,如果需要处理ppt,大家可前往官网自行学习。 1.1 模板语法在了解模板语法之前,我们需要先创建一个tempalte.docx模板文件。 变量替换变量使用{key}标签,在tempalte.docx文件中输入以下模板: Hello, my name is {name}.然后准备以下数据: let data = { name: "千万", }最终我们生成的docx文件将会是: Hello, my name is 千万. 条件判断条件判断使用{#key}开始,使用{/key}结束,最简单的用法是使用Boolean类型数据进行填充。 Hello, my name is {name}. {#hasAge}I'm {age} years old.{/hasAge} {#hasWeight}My weight is {weight}.{/hasWeight}然后准备以下数据: let data = { name: "千万", hasAge: true, age: 23, hasWeight: false, }最终我们生成的docx文件将会是: Hello, my name is 千万. I'm 23 years old.除了Boolean类型的数据以外,我们也可以填充其他类型: type 是否显示模块 false / 空数组 不显示 非空数组 显示, |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |