【发布时间】:2019-11-22 12:14:30
【问题描述】:
我有一个 Python Flask 项目,它使用 pdfkit 模块(以及扩展名 wkhtmltopdf)将本地存储的 HTML 文件转换为 .pdf 文件。
当它本地托管在我的 Windows 计算机上时,我可以让整个事情完美运行。
但是,在将我的项目文件夹上传到 Heroku 实例并对其进行测试后 - 我在运行程序时收到了两个错误(其中一个已解决)。
请注意,在使用 Git 中的以下命令创建 Heroku 实例之前,我将 wkhtmltopdf 包含到了我的构建包中(这些命令取自 https://razorjack.net/wkhtmltopdf-on-heroku-evaluating-different-installation-options/ 中的方法 2):
我也会在这里展示它们:
heroku buildpacks:add https://github.com/dscout/wkhtmltopdf-buildpack.git
heroku config:set WKHTMLTOPDF_VERSION="0.12.4"
我解决的第一个错误涉及 pdfkit 无法在 Herkou 实例中找到 wkhtmltopdf 二进制文件。我最终发现它放在我项目的 bin 文件夹中 - 我将它添加到我的 python 文件中的 pdfkit 配置路径中。
我现在遇到的问题是 wkhtmltopdf/ pdfkit 说它已经创建了 .pdf 文件(我可以从 Git 上的日志尾的输出中看到这一点)但是当我检查项目文件夹中的目录时在使用 Heroku 终端的 Heroku 上,.pdf 似乎不存在。
有趣的是,当我尝试“触摸”或在实例的 /app 文件夹中创建新文件时,什么也没有出现。但是当我在 /tmp 文件夹中做同样的事情时。我试图将 wkhtmltopdf file.pdf 创建指向 /tmp 文件夹,但似乎没有创建任何内容。
如果有人能给我任何有用的见解或解决我为什么会遇到这个问题的方法,我将非常感激。
谢谢。
【问题讨论】:
标签: python linux pdf heroku wkhtmltopdf