python - 在 Azure 功能中部署后 wkhtmltopdf 无法正常工作

标签 python shell ubuntu azure-functions

我有一个使用模块 pdfkit python 将 html 文件转换为 pdf 的天蓝色函数。
这是我安装 wkhtmltopdf 的部署 shell 脚本,它是成功的。依赖安装在位置 usr/local/bin/wkhtmltopdf

echo "Starting Installation of wkhtlmtopdf for disclosure document generation..."
export DEBIAN_FRONTEND=noninteractive
apt update
apt install wget
wget https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
apt install ./wkhtmltox_0.12.6-1.focal_amd64.deb -y
chmod -R a+rwx /usr/local/bin/wkhtmltopdf
这是我生成pdf的天蓝色函数代码
options = {
    'enable-local-file-access': None,
    'page-size': 'Letter',
    'margin-top': '0.75in',
    'margin-right': '0.75in',
    'margin-bottom': '0.75in',
    'margin-left': '0.75in',
    'encoding': "UTF-8",
    'custom-header': [
        ('Accept-Encoding', 'gzip')
    ],
    'no-outline': None
    }
    config = pdfkit.configuration(wkhtmltopdf='/usr/local/bin/wkhtmltopdf')
    pdfkit.from_file('index.html',
                    'output.pdf',
                    options=options,
                    configuration=config)
部署该功能后,测试时显示以下错误
No wkhtmltopdf executable found: "/usr/local/bin/wkhtmltopdf" If this file exists please check that this process can read it or you can pass path to it manually in method call, check README. Otherwise please install wkhtmltopdf - https://github.com/JazzCore/python-pdfkit/wiki/Installing-wkhtmltopdf
我在这里缺少什么?谢谢

最佳答案

当您部署平台时,您使用了所有代码,但没有使用可执行文件,这就是为什么它会给出错误,您需要在 azure 函数根目录中添加可执行文件,然后安装它。
然后我建议,将整个功能容器化,然后将其部署在 azure 中。
引用以下documentation关于如何使用 docker 部署 azure 功能。
引用以下article加布里埃尔·库法罗。

关于python - 在 Azure 功能中部署后 wkhtmltopdf 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72332464/

相关文章:

python - 如何在 python 中输入密码并为用户的每个字符打印一个星号?

linux - 动态创建bash变量并访问其先前定义的值

python - 如何按照Unix Shell或任何其他配置文件中提到的位置添加空值

bash - 在没有事先赋值的情况下声明和设置变量

php - Tensorflow 1.5 的非法指令(核心转储)

python - 启用 django-extensions 和 pygraphviz

python - 在 Scrapy 中使用经过身份验证的 session 进行爬网

python - 在 python 中运行 python 脚本

php -/etc/php5/conf.d 文件夹中的 .ini 文件有什么用?

python - 将形状不等的数组列表转换为 Tensorflow 2 数据集 : ValueError: Can't convert non-rectangular Python sequence to Tensor