如何在 Python 中将本地 HTML 文件转换为 PDF 文件
Posted
技术标签:
【中文标题】如何在 Python 中将本地 HTML 文件转换为 PDF 文件【英文标题】:How to Convert a Local HTML File to PDF File in Python 【发布时间】:2020-05-19 23:46:55 【问题描述】:我已经搜索了一些方法来将我的本地 html 文件转换为 python 中的 pdf 文件。
我搜索的是pdfkit
、weasyprint
、xhtml2pdf
、pdfcrowd
。
问题是,我应该使用 Pyinstaller 将其作为 exe 文件提供给其他人,以便他们可以使用该程序。我遇到了一个OSerror
和pdfkit
说:
OSError: No wkhtmltopdf executable found: "b''"
我找到了我必须为此编辑一些环境变量的解决方案。 Weasyprint还需要下载/安装其他东西。
我认为这些不会在其他 PC 上运行,因为它们需要一些外部处理来运行程序。
xhtml2pdf
似乎是将 html 从网页(不是本地文件)转换为 pdf 的工具,而 pdfcrowd
是我目前最不可行的选择,因为我必须付费才能使用 API。
你有什么建议可以改变我的情况吗?
提前谢谢你!
【问题讨论】:
这能回答你的问题吗? How to convert a local HTML file to PDF using Python in Windows? 【参考方案1】:你真的需要提供一个python包吗?因为坦率地说,任何现代浏览器都应该能够打印到 PDF,如果它足够的话,这比其他任何东西都要简单得多:让“某人”在他们的浏览器中打开 HTML 页面,打印它,然后选择打印到 PDF 的任何选项(另存为chrome 中的 PDF,在 Firefox 中打印到文件,...)
【讨论】:
是的,我知道。但可悲的是,我的同事需要在我已经制作的某种爬虫中使用它。我的意思是,对于 store 来说,HTML 就足够了,对吧?但他坚持……类似的事情。我还跟他说,你把所有的HTML都搞定后,我可以把它转成pdf,但他说他需要时不时检查一下……这就是让我来这里的原因。 那么我担心他们将不得不处理任何 PDF 转换器包的混乱依赖关系。 wkhtmltopdf 是最普遍的,但往往是喜怒无常的,weasyprint 更可靠,但 IIRC 功能不太全面。两者都可能很难在 Windows 上运行,但我希望提供说明。一个选项可能是提供类似 docker 映像的东西,它设置所有依赖项,但在 Windows 上可能不会更容易。 啊,我也害怕听到这样的消息 :) 感谢您对 Masklinn 的友好评论。我会为此与我的同事打交道。以上是关于如何在 Python 中将本地 HTML 文件转换为 PDF 文件的主要内容,如果未能解决你的问题,请参考以下文章
是否可以在python中将包含JavaScript图表的html文件转换为PDF?