gpt4 book ai didi

python - 在 Python 中从 HTML/Javascript 创建 PDF,没有操作系统依赖性

转载 作者:行者123 更新时间:2023-12-03 19:25:46 26 4
gpt4 key购买 nike

有什么方法可以使用 Python 从 HTML/CSS/Javascript 创建 PDF 文档,没有 引入任何操作系统级别的依赖关系?
似乎每个现有的解决方案都需要特殊的补充软件,但在查看 PDF 格式规范和 HTML/CSS/Javascript 渲染时,似乎没有理由没有它们就不能存在 Python 解决方案。一些解决方案非常接近,例如 pyppeteer ,但它仍然依赖于本地的 headless Chrome 安装。这些依赖关系意味着无法利用微服务,即使 PDF 生成对它们来说似乎是一个可行的用例。
虽然类似的问题已经多次出现在 SO 上,但似乎没有一种可行的技术无需在操作系统上安装专门的依赖项。
日常推荐的一些类似问题wkhtmltopdf或以其他方式过时(例如, moving PDF printing support outside of Chrome is dead now ):

  • How to convert webpage into PDF by using Python
  • How to convert a local HTML file to PDF using Python in Windows
  • HTML to PDF conversion using Chrome pdfium
  • How does Chrome render PDFs from HTML so well?
  • Convert a HTML/CSS/Javascript file to PDF using Python?

  • 如果我以某种方式错过了一个可行的方法,请随时将其标记为重复,谢谢!
    2021 年 2 月编辑:看来 cefpython项目可能满足这些需求 - PDF printing support似乎可以在不久的将来实现。

    最佳答案

    因此,澄清和正式化其他人所说的话:

  • 如果你想从 HTML/CSS/javascript 内容创建 PDF 文档,你必然需要一个 javascript引擎 (因为如果它影响文档的视觉效果,您显然需要执行 javascript)。这是您需要的最复杂的组件。
  • 至于现在,有没有用纯 python 编写的符合 ECMAscript 的引擎 这是维护良好的(那将是一个巨大的项目)......可能永远不会有,因为语言的编译器和虚拟机需要高性能,因此通常是用高性能的低级语言编写的。
  • 所以你总是需要 编译后的二进制文件 对于那些不太复杂但在浏览器中使用时也需要高性能的 HTML 渲染器,所以通常它们也是 C++ 或类似的。
  • javascript 引擎和 HTML 渲染器是浏览器的主要部分,因此 headless 浏览器是满足这一需求的一个很好的解决方案。
  • 关于python - 在 Python 中从 HTML/Javascript 创建 PDF,没有操作系统依赖性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57363375/

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