【问题标题】:wkhtmltopdf not creating pdf in Herokuwkhtmltopdf 不在 Heroku 中创建 pdf
【发布时间】: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


    【解决方案1】:

    您面临的问题可能是由 Heroku 的临时文件系统引起的。或许this page of docs 会帮你找到解决办法。

    【讨论】:

    • 感谢您的回答。我不认为它是关闭或重新启动测功机的问题 - 我运行我的网络应用程序然后大约半分钟后我检查 /tmp 目录中是否存在 file.pdf 但它似乎不存在
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 1970-01-01
    • 2013-12-25
    • 2011-10-20
    • 1970-01-01
    相关资源
    最近更新 更多