不为别的,只为做一个连自己都羡慕的人

使用node将word转为pdf

刚开始拿到这个需求是很烧脑的,因为我们要实现的是文件的预览,当碰到文件时word的时候,就很麻烦了,找了好多案例也没着急合适的,后面再一个不经意间,看到了libreoffice,它是再linux系统下使用的,确定我们的系统安装了libreoffice,并且做好了配置之后,我们就可以用node实现word转pdf了。

在做node转pdf时,我们需要调用系统的环境,所以需要引入:

const util = require('util');  //用来提供常用函数的集合
var exec = util.promisify(require('child_process').exec);  // util.promisify把原来的异步回调方法改成返回 Promise 实例的方法,  child_process  模块提供了衍生子进程的能力 创建子shell,可以直接执行shell管道命令,有回调

然后通过调用系统环境,来实现word转pdf

async function wordToPdf(wordPath,pdfPath) {
    const {stdout,stderr} =await exec('libreoffice6.4 --headless --convert-to pdf --outdir '+pdfPath+' '+wordPath);
        console.log('stdout:', stdout);
        console.log('stderr:', stderr);
}

通过上面的方法就可以实现word转pdf。



 
posted @ 2020-09-09 15:32  升级打怪  阅读(3726)  评论(0编辑  收藏  举报