HTML 使用 Python 在 AWS Lambda 中创建 PDF

HTML to PDF creation in AWS Lambda using Python

我正在尝试使用 python 创建一个 pdf 文件,其中包含来自 AWS lambda 中 HTML 数据的图像和表格。我在 google 上搜索了很多,但没有找到任何超酷的解决方案。我在本地尝试了一些库(FPDF、pdfKit),但它在 AWS 上不起作用。是否有任何简单的工具来创建 pdf 并将其上传到 S3 存储桶。提前致谢。

您可以使用 reportlab PDF python 模块。它对你所要求的一切都有好处。您可以添加图像、创建表格等。还有很多样式选项可用。您可以在这里找到更多相关信息:https://www.reportlab.com/docs/reportlab-userguide.pdf

我在我的产品中使用了它,并且非常适合我必须创建发票的用例。您可以在 /tmp 目录中创建发票,然后将其上传到 S3

pdfkit 库适用于 aws lambda。 pdfkit 内部需要安装 wkhtmltopdf 二进制文件,您可以将它们添加为 lambda 层。您可以从 https://wkhtmltopdf.org/downloads.html.

下载文件

添加 lambda 层后,您可以按如下方式设置配置路径:

config = pdfkit.configuration(wkhtmltopdf="/opt/bin/wkhtmltopdf")

pdfkit.from_string/from_file(input, <temp path of pdf file on lambda>, configuration=config)

您可以使用 upload_file() 将在您的 lambda 临时位置生成的文件上传到 S3 存储桶。您可以参考 https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/s3.html#S3.Client.upload_file 如何上传到 s3 存储桶。