如何从 docx 生成 pdf - NodeJS + TypeScript
How to generate pdf from docx - NodeJS + TypeScript
我正在尝试从之前在 NodeJS 中生成的 DOCX 文件生成 PDF。我正在使用 NestJS 和 TypeScript。
我尝试了很多方法,但都失败了:
- @nativedocuments/docx-wasm: NativeDocuments 不再工作了。
- word2pdf:在 github 存档,在 npm 不可用。
- docx-pdf:生成无样式的 pdf。它删除了我的表格,缩进,
两端对齐的文字等
- libreoffice-convert:抛出 window 错误:
无法启动应用程序。配置文件“C:/Program
Files/LibreOffice/program/bootstrap.ini" 已损坏(但 LibreOffice 软件可以正常工作)。
您是否知道我使用前面提到的任何 docx 到 pdf 替代品时遇到的问题的一些解决方法?或者我可以使用其他替代方法(请免费)?
提前致谢!
我已经成功地使用了 Puppeteer to render PDFs from HTML documents. If you could manage to transform your DOCX file into HTML, this might be a viable option. It looks like there are options 来做到这一点,但我不能保证它们。
我知道的最多的是使用 Libreoffice。你真的不需要包装器库。
您可以直接使用 exec
:
执行 libreoffice
const { exec } = require("child_process");
exec("libreoffice --headless file.xyz", (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
您需要先将您的 DOCX 写入磁盘上 Libreoffice 可以打开的某个文件,生成的 PDF 也将写入磁盘 - 然后您可以将其加载到 Node 中与 fs.
我正在尝试从之前在 NodeJS 中生成的 DOCX 文件生成 PDF。我正在使用 NestJS 和 TypeScript。 我尝试了很多方法,但都失败了:
- @nativedocuments/docx-wasm: NativeDocuments 不再工作了。
- word2pdf:在 github 存档,在 npm 不可用。
- docx-pdf:生成无样式的 pdf。它删除了我的表格,缩进, 两端对齐的文字等
- libreoffice-convert:抛出 window 错误: 无法启动应用程序。配置文件“C:/Program Files/LibreOffice/program/bootstrap.ini" 已损坏(但 LibreOffice 软件可以正常工作)。
您是否知道我使用前面提到的任何 docx 到 pdf 替代品时遇到的问题的一些解决方法?或者我可以使用其他替代方法(请免费)?
提前致谢!
我已经成功地使用了 Puppeteer to render PDFs from HTML documents. If you could manage to transform your DOCX file into HTML, this might be a viable option. It looks like there are options 来做到这一点,但我不能保证它们。
我知道的最多的是使用 Libreoffice。你真的不需要包装器库。
您可以直接使用 exec
:
const { exec } = require("child_process");
exec("libreoffice --headless file.xyz", (error, stdout, stderr) => {
if (error) {
console.log(`error: ${error.message}`);
return;
}
if (stderr) {
console.log(`stderr: ${stderr}`);
return;
}
console.log(`stdout: ${stdout}`);
});
您需要先将您的 DOCX 写入磁盘上 Libreoffice 可以打开的某个文件,生成的 PDF 也将写入磁盘 - 然后您可以将其加载到 Node 中与 fs.