在線預覽office文件:libreoffice基本使用


使用的核心是這段命令:
soffice --headless --convert-to pdf --outdir ' + 輸出路徑 + ' ' + 源文件路徑

在node中的使用的話,需要使用子進程來運行命令行,如下所示,這里是封裝成了promise的形式:

const process = require('child_process')const outputPath = 'upload/pdf/'

// office translate
module.exports = function(enterPath) {
    return new Promise((resolve, reject) => {
        process.exec('soffice --headless --convert-to pdf --outdir ' + outputPath + ' ' + enterPath, (err, stdout, stderr) => {
            if (err || stderr) return reject(err || stderr)
            resolve(stdout)
        })
    })
}

也可以像這樣寫:

const util = require('util')
const process = require('child_process')
var exec = util.promisify(process.exec)

// office translate
async function officeToPdf(enterPath, outputPath) {
    const { stdout, stderr } = await exec(
        'soffice --headless --convert-to pdf --outdir ' + outputPath + ' ' + enterPath
    )
    console.log('stdout:', stdout)
    console.log('stderr:', stderr)
}

 

在node中使用案例:https://github.com/yejunm3/office_transform

libreoffice下載地址:https://www.libreoffice.org/download/download/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM