如何在 pythonanywhere.com 虚拟环境中更新 wkhtmltopdf 版本?

问题描述

我的应用程序是用 Flask 编写的。 Flask 中的应用程序在 mysite.pythonanywhere.com 上运行 我使用python和pdfkit库将html模板转换为pdf格式。

在我的开发环境中,我使用 wkhtmltopdf 0.12.6 版本(带有补丁的 qt)。 在开发环境中执行html到pdf格式的转换时,得到了转换后的pdf文件中正确显示的页数和页数。

附上pdf格式的文档部分截图,显示1 of 1(表明它位于第1页,共1页)

enter image description here

在 mysite.pythonanywhere.com 上运行的应用程序中执行相同的报告和从 html 格式到 pdf 格式的转换时,不显示页码

附上报告中应该显示页码的部分截图:

enter image description here

如您所见,pdfkit在将html格式转换为pdf格式的过程中生成的pdf格式的文件中没有显示页码

在调查了应用在 mysite.pythonanywhere.com 上运行时出现此行为的可能原因后,我发现 mysite.pythonanywhere.com.server.log 日志文件显示以下消息:

2021-07-01 20:26:16 开关 --footer-right,不支持使用 未打补丁的 qt,将被忽略。

调查之前指出的消息的原因。我发现出现这个消息的原因是我在开发环境下运行的wkhtmltopdf版本是有补丁qt的版本,而我在mysite.pythonanywhere.com运行的wkhtmltopdf版本是没有的版本有补丁qt。

执行命令时:

$ wkhtmltopdf --version

在开发环境中,我得到版本

wkhtmltopdf 0.12.6(带有补丁的 qt)

执行命令时:

$ wkhtmltopdf --version

在生产环境中,我得到版本

wkhtmltopdf 0.12.2.4

enter image description here

根据在 mysite.pythonanywhere.com 服务器上显示的消息中找到的文档,该消息与服务器上运行的版本是没有 qt 补丁的版本有关,即pdfkit生成的pdf文件中没有显示数字页的原因

在stackoverflow上找到的一个可能的解决方案表明需要安装wkhtmltopdf的更新版本,即有qt补丁的版本。 Error when trying to display the number of pages in PdfKit

问题是:如何在pythonanywhere.com虚拟环境中更新wkhtmltopdf版本?

非常感谢您提供的任何指导。

解决方法

您无法在 PythonAnywhere 上更新 qt 版本。特别是因为您想要的功能似乎需要某种补丁版本。