我找到了一些repos,它看起来并不像它们仍然保持着:
我试过的方法有libreoffice,但PDF输出是如此糟糕,这是不可用的(上差异文本.页等).
如果可能的话,我想避免启动任何后台进程和/或在服务器上保存文件.最好的解决方案是我可以使用缓冲区.出于隐私原因,我无法使用任何外部服务.
doc buffer -> pdf buffer
如何在nodejs中将docs转换为pdf?
对于那些现在可能会偶然发现这个问题的人:
有一个很酷的工具叫做Gotenberg ——Docker 驱动的无状态 API,用于将 HTML、Markdown 和 Office 文档转换为 PDF。它支持通过unoconv转换 DOC 。
我碰巧是 Gotenberg 的 JS/TS 客户端的作者——gotenberg-js-client
我欢迎你使用它:)
要将文档转换为 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文档
下面的代码演示了如何使用子进程使用 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)
| 归档时间: |
|
| 查看次数: |
9961 次 |
| 最近记录: |