当前位置: 首页 > article >正文

nodejs 将word转为pdf office-to-pdf

jspdf用于html转pdf。需借助html2canvas遍历页面中的dom节点,渲染成canvas image,再用jspdf把图片转为pdf。
office-to-pdf 用于word转pdf。依赖于libreOffice,需提前安装
 

mac安装libreOffice

1.首先需要jdk8,并配置环境变量
2.再就是需要安装libreOffice。 
下载 LibreOffice_7.3.0_MacOS_x86-64.dmg 双击安装
soffice --version 提示command not found
mac默认安装在/Applications下,
在/Applications/LibreOffice.app/Contents/MacOS/soffice 找到了soffice,并且./soffice --version可以运行。
3.需要配置环境变量或者软连接到/usr/local/bin (ps:mac只能软连接到/usr/local/bin里面,/usr/bin,/usr/sbin即使使用sudo也没权限)
3-1.尝试了软连接到/usr/local/bin,运行soffice出错No Info.plist file in application bundle or no NSPrincipalClass in the Info.plist file, exiting
3-2.于是改成配置环境变量。
#查看文件内容
cat ~/.zshrc
#如果文件不存在,或者存在直接进入编辑状态
vim ~/.zshrc
#键入i,开始编辑文件,在文件中添加下列内容并保存
export PATH="/Applications/LibreOffice.app/Contents/MacOS:$PATH"
source ~/.bash_profile
再执行soffice命令,执行成功。可以编写jspdf代码了。

ubuntu安装libreOffice:


apt install openjdk-11-jre-headless
apt install libreoffice-common
apt install libreoffice-writer
apt-get install libreoffice-pdfimport //安装下面的包可以安装所有能用到的依赖
apt-get install ttf-wqy-zenhei  //安装中文字体库 fix pdf转换中文乱码问题


soffice --headless --invisible --convert-to pdf model.docx  //测试转换pdf

3. npm安装office-to-pdf并使用

npm install office-to-pdf -S

读取word文件并转换为pdf的代码如下:
const toPdf = require("office-to-pdf");
var docxData = fs.readFileSync( "model.docx");
toPdf(docxData).then((pdfBuffer: any) => {
   fs.writeFileSync(path.resolve(__dirname, 'Pdfs/out.pdf'), pdfBuffer);
});


http://www.kler.cn/a/144613.html

相关文章:

  • 成品日志函数
  • SELinux零知识学习二十八、SELinux策略语言之类型强制(13)
  • JAVA之异常详解
  • 从零开始搭建博客网站-----源代码试部署
  • 【C语言】函数(四):函数递归与迭代,二者有什么区别
  • 微服务实战系列之Nginx
  • C# 使用NPOI操作Excel的工具类
  • 图书管理系统源码,图书管理系统开发,图书借阅系统源码二表字段注释说明
  • 接口测试之文件上传
  • Flink 常用物理分区算子(Physical Partitioning)
  • Nacos身份绕过漏洞复现(QVD-2023-6271)
  • C语言矩阵乘积(ZZULIOJ1127:矩阵乘积)
  • 香港证监会再点名,三家“可疑虚拟资产平台交易平台”!
  • 【Docker】Docker与Kubernetes:区别与优势对比
  • selenium的基础语法
  • 百度AI布局:从财报看百度的核心竞争力和未来发展方向
  • 数字孪生智慧校园 Web 3D 可视化监测
  • 模型优化【2】-剪枝[局部剪枝]
  • 【从浅识到熟知Linux】基本指定之find、grep、head和tail
  • 基于Springboot的冬奥会科普平台(有报告),Javaee项目,springboot项目。