Nodejs:将Doc转换为PDF

And*_*iga 13 pdf doc node.js

我找到了一些repos,它看起来并不像它们仍然保持着:

我试过的方法libreoffice,但PDF输出是如此糟糕,这是不可用的(上差异文本.页等).

如果可能的话,我想避免启动任何后台进程和/或在服务器上保存文件.最好的解决方案是我可以使用缓冲区.出于隐私原因,我无法使用任何外部服务.

doc buffer -> pdf buffer

题:

如何在nodejs中将docs转换为pdf?

yum*_*maa 7

对于那些现在可能会偶然发现这个问题的人:

有一个很酷的工具叫做Gotenberg ——Docker 驱动的无状态 API,用于将 HTML、Markdown 和 Office 文档转换为 PDF。它支持通过unoconv转换 DOC 。

我碰巧是 Gotenberg 的 JS/TS 客户端的作者——gotenberg-js-client

我欢迎你使用它:)


Gau*_*hra 1

要将文档转换为 PDF,我们可以使用Universal Office Converter (unoconv)命令行实用程序。

它可以通过任何软件包管理器安装在您的操作系统上,例如使用 apt-get 将其安装在 ubuntu 上

sudo apt-get install unoconv
Run Code Online (Sandbox Code Playgroud)

根据 unoconv 的文档

如果您手动安装 unoconv,请确保安装了所需的 LibreOffice 或 OpenOffice 软件包

以下示例演示如何调用 unoconv 实用程序

unoconv -f pdf sample_document.py
Run Code Online (Sandbox Code Playgroud)

它生成包含sample_document.py内容的PDF文档

如果你想使用nodeJS程序,那么你可以通过子进程调用命令

下面的代码演示了如何使用子进程使用 unoconv 创建 PDF

const util = require('util');
const exec = util.promisify(require('child_process').exec);

async function createPDFExample() {
  const { stdout, stderr } = await exec('unoconv -f pdf sample.js');
  console.log('stdout:', stdout);
  console.log('stderr:', stderr);
}

createPDFExample();
Run Code Online (Sandbox Code Playgroud)