gpt4 book ai didi

javascript - 使用 nodeJS 或 Javascript 将 HTML + CSS 转换为 PDF?

转载 作者:太空宇宙 更新时间:2023-11-04 02:04:10 28 4
gpt4 key购买 nike

我有一个问题。我尝试了一些将 html 转换为 PDF 的库,但它们不导入 CSS,因此我的 PDF 无效。

我试过“html2pdf”、“pdfmake”、“jspdf”..

PDFMake 对我没有帮助,因为它需要生成带有 HTML 数据的 JSON...

我想转换为 PDF 的文件结构是:

  • html:www/templates/phase_one_report.html
  • css:www/css/phase_one_report.css

一些想法?我在后端使用 nodeJS 和 sailsJS,在前端使用 javascript 和 ionic。

对不起我的英语。

最佳答案

这是一个难题。我还发现,现有的 HTML 到 PDF 库通常无法处理我扔给它们的 HTML 和 CSS。

我找到的最佳解决方案根本不是 Javascript:wkhtmltopdf .这本质上是一个包装 webkit 渲染引擎的程序,这样你就可以给它任何 webkit 可以渲染的 HTML + CSS,它会返回一个 PDF 文档。它做得非常出色,因为它实际上就像浏览器一样呈现文档。

你提到你正在使用 node.js,但不清楚你的环境到底是什么,所以我假设你的报告可以通过 http 这样的 URL 获得://my.domain/phase_one_report.html。实现此功能的最简单方法是在您的服务器上安装 wkhtmltopdf 应用程序,然后使用 child_process.exec 来执行它。

例如:

import { exec } from 'child_process';

// generate the report

// execute the wkhtmltopdf command
exec(
'wkhtmltopdf http://my.domain/phase_one_report.html output_file.pdf',
(error) => {
// send the PDF file to the client
}
);

wkhtmltopdf 有许多不同的命令行选项 - 您需要研究所有不同的配置方式。

如果您的报告不能通过 URL 访问,那么这会变得有点复杂 - 您需要内联 CSS 并将所有内容立即发送到 wkhtmltopdf .

关于javascript - 使用 nodeJS 或 Javascript 将 HTML + CSS 转换为 PDF?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41168428/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com