跳转到主要内容

Django库用于调用splat

项目描述

splat

splat是一个简单的aws lambda函数,它接受HTML/CSS/JS,通过调用PrinceXML来渲染它,并以多种方式返回生成的PDF。

它旨在成为一种DIY的docraptor。

安装

只需构建docker镜像,部署到AWS,然后使用包含执行所需操作的事件体JSON调用lambda。例如: {"document_content": "<h1>Hello, World!</h1>"}

调用splat的方式

输入

在事件中传递内容: {"document_content": "<h1>Hello, World!</h1>"} 通过URL传递内容: {"doucment_url": "<h1>Hello, World!</h1>"}

输出

默认情况下返回由base64编码的PDF。要保存到s3桶中(lambda需要权限): {"bucket_name": "<BUCKET>"} 要保存到预签名URL: {"presigned_url": "<URL>"}

选项

要启用JavaScript: {"javascript": true}

PrinceXML许可证

splat将默认尝试安装一个PrinceXML许可证文件。只需在构建docker容器之前将您的license.dat文件放入根目录。为了您的方便,许可证文件被git忽略。如果您没有许可证文件,Prince将水印您的PDF,您只能用于非商业用途。有关更多信息,请参阅他们的许可证页面

您可以通过使用带有 {"check_license": true} 选项的 lambda 函数来检查许可证的状态,并解析响应。您可以使用此功能定期检查许可证状态,并在即将到期时发出警报,并验证您的新的许可证是否正确更新。

字体

spalt 将添加 fonts.zip 文件内的所有字体。确保 zip 文件包含一个名为 fonts 的文件夹,其中包含所有字体。只需将其放入根目录并构建 Docker 容器。为您的方便,prince 默认附带了一套 liberation 字体。

spalt 可以通过 uptick_splat 库使用。使用 pip install uptick_splat 进行安装。

使用方法

from uptick_splat import configure_splat, pdf_with_splat


configure_splat(
    function_region="ap-southeast-2",
    function_name="splat",
    default_bucket_name="your-bucket-to-upload-html-to",
)

some_html = "<h1>test</h1>"

pdf_with_splat(some_html, bucket_name="test_bucket")
# or
pdf_with_splat(some_html)

项目详情


下载文件

下载您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

uptick_splat-0.1.8.tar.gz (5.3 kB 查看散列)

上传时间

构建分布

uptick_splat-0.1.8-py3-none-any.whl (6.8 kB 查看散列)

上传时间 Python 3

由以下组织支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面