HTML到PDF生成 API

通过一次 API 调用从 HTML URL 和模板生成像素完美的 PDF 发票 收据 报告 合同 仅需毫秒而非小时
通过 MCP 从您的 AI 代理使用此 API
支持 OpenClaw、Claude Code/Desktop、Cursor、Windsurf、Cline 以及任何兼容 MCP 的 AI 客户端。
文档和设置
通过封装此 MCP 创建技能: https://mcp.zylalabs.com/mcp?apikey=YOUR_ZYLA_API_KEY

# PDF 和文档生成 API — Zylalabs 描述

**将以下文本复制粘贴到 Zylalabs 的“长描述”字段中:**

---

## 概述

PDF 和文档生成 API 是一个生产级 REST API,它将 HTML、URL 和结构化数据转换为像素完美的 PDF 文档。专为需要自动化文档工作流的开发者而构建 —— 发票、收据、报告、合同、仪表板 —— 而无需管理浏览器引擎、Chromium 服务器或渲染基础设施。

该 API 由 ProdaDoc 提供支持,处理整个 PDF 流程:生成、合并和元数据提取,所有操作都通过简洁的 JSON 输入,PDF 输出端点完成。

## 主要特性

**HTML 转 PDF 转换**
发送任何 HTML 字符串 —— 完全支持 CSS,包括 Flexbox、Grid、自定义字体和打印媒体查询 —— 并在毫秒内接收高质量的 PDF。非常适合将电子邮件模板、仪表板和自定义文档转换为可下载的 PDF。

**URL 转 PDF 转换**
将任何公开可访问的网页转换为 PDF 文档。API 渲染整个页面,包括 JavaScript 生成的内容,使其非常适合存档网页、生成合规快照或创建网页内容的离线副本。

**基于模板的 PDF 生成**
通过发送结构化的 JSON 数据从预构建的模板生成专业文档。可用的模板包括:
- **发票模板** —— 明细行、税务计算、公司品牌、付款条款和客户详细信息
- **收据模板** —— 包含付款方式、交易 ID 和逐项购买的交易记录
- **报告模板** —— 带有执行摘要、数据部分、结论和机密标记的多节商业报告

**PDF 合并**
通过一次 API 调用将 2 至 20 个单独的 PDF 文档合并为单个文件。对于组装合同包、合并多页报告或打包相关文档以供交付至关重要。

**PDF 元数据提取**
从任何 PDF 文件中提取详细信息,包括页数、单独页面的尺寸(宽度和高度)以及文档属性。适用于验证、目录编制和在自动化工作流程中预处理 PDF 文件。

## API 端点

| 方法 | 端点 | 描述 |
|--------|----------|-------------|
| GET | /health | 健康检查和 API 状态(无需身份验证) |
| POST | /api/v1/pdf/from-html | 从 HTML 字符串生成 PDF |
| POST | /api/v1/pdf/from-url | 从网页 URL 生成 PDF |
| POST | /api/v1/pdf/from-template | 从预构建模板与动态数据生成 PDF |
| POST | /api/v1/pdf/merge | 将多个 PDF 文件合并为一个文档 |
| POST | /api/v1/pdf/metadata | 从 PDF 中提取页数和尺寸 |

## 自定义选项

每个 PDF 生成端点支持广泛的自定义:
- **页面格式:** A3、A4、A5、信纸、法律
- **方向:** 纵向或横向
- **边距:** 自定义顶部、右侧、底部和左侧的边距(以毫米为单位)
- **缩放:** 调整内容缩放范围为 10% 到 200%
- **背景打印:** 包括或排除 CSS 背景颜色和图像
- **页眉和页脚:** 带页码的自定义 HTML 页眉和页脚模板

## 常见用例

**SaaS 平台** —— 自动生成每月发票、使用情况报告,并直接从应用程序后端导出用户数据为可下载的 PDF 文件。

**电子商务和零售** —— 打印带有付款方式详细信息(信用卡、PayPal、M-Pesa、银行转账)和交易标识符的逐项购买收据,以便保存客户记录。

**法律和金融服务** —— 将多个合同页面、保密协议、服务条款和修正文件合并为一个捆绑的 PDF,以便客户签名。

**自由职业者和代理机构** —— 以公司的 logo、付款条款和逐项计费在几秒钟内创建品牌发票,而无需任何设计软件。

**医疗保健** —— 生成患者报告、出院总结和预约确认作为安全的 PDF 文档。

**教育** —— 根据学生数据记录生成证书、成绩单和评估报告。

**房地产** —— 从结构化数据生成物业挂牌表、租赁协议和检查报告。

## 安全性

该 API 经过全面的 28 点安全审计,涵盖:
- 在每个端点上使用严格的架构验证进行输入验证
- SSRF(服务器端请求伪造)保护,阻止对本地主机、私有 IP 和云元数据端点的访问
- 所有模板中 HTML 实体转义的 XSS 防护
- 时间安全的 API 密钥认证,以防止时间攻击
- 每个 API 密钥的速率限制,以防止滥用
- 包括 HSTS、内容安全策略和 X-Frame-Options 的安全头
- 不存储生成的 PDF —— 文档立即返回,且从不持久化

## 集成示例

通过单个 HTTP 请求生成发票 PDF:

```
POST /api/v1/pdf/from-template
Content-Type: application/json
x-api-key: YOUR_API_KEY

{
"template": "invoice",
"data": {
"companyName": "您的公司",
"clientName": "客户名称",
"invoiceNumber": "INV-001",
"items": [
{
"description": "咨询服务",
"quantity": 10,
"unitPrice": 150,
"amount": 1500
}
],
"total": 1500,
"currency": "USD"
}
}
```

响应:原始 PDF 二进制文件(内容类型为 application/pdf)

## 性能

- 平均响应时间:HTML 到 PDF 小于 400 毫秒
- 处理并发请求,配备管理的浏览器池
- 失败时自动恢复的断路器模式
- 每个 API 调用的请求 ID 跟踪,以实现端到端可观察性

## 错误处理

所有错误返回结构化的 JSON 响应,包含:
- 可机器读取的错误代码(VALIDATION_ERROR、UNAUTHORIZED、RATE_LIMITED 等)
- 可供人类读取的错误消息,解释出了什么问题
- 一个可重试标志,指示请求是否可以重试

不会向 API 使用者暴露任何堆栈跟踪或内部服务器详细信息

API 文档

端点


检查API状态和正常运行时间 添加?deep=true来测试PDF渲染引擎并获取内存使用统计信息 无需认证


                                                                            
GET https://pr132-testing.zylalabs.com/api/12011/html+to+pdf+generation+api/22873/health+check
                                                                            
                                                                        

健康检查 - 端点功能

对象 描述
测试端点

API 示例响应

       
                                                                                                        
                                                                                                                                                                                                                                                                                                                                        {"status":"healthy","timestamp":"2026-03-13T14:10:46.756Z","uptime":154731,"version":"1.0.0"}
                                                                                                                                                                                                                    
                                                                                                    

健康检查 - 代码片段


curl --location --request GET 'https://zylalabs.com/api/12011/html+to+pdf+generation+api/22873/health+check' --header 'Authorization: Bearer YOUR_API_KEY' 


    

分析一个PDF文档并提取详细元数据,包括标题、作者、主题、创建者、生产者、创建日期、修改日期、总页数以及每页的单独尺寸(宽度和高度以点为单位)将PDF作为Base64编码的字符串发送最大大小:50MB 响应为JSON



                                                                            
POST https://pr132-testing.zylalabs.com/api/12011/html+to+pdf+generation+api/22878/extract+pdf+metadata
                                                                            
                                                                        

从PDF中提取元数据 - 端点功能

对象 描述
请求体 [必需] Json
测试端点

API 示例响应

       
                                                                                                        
                                                                                                                                                                                                                                                                                                                                        {"metadata":{"title":null,"author":null,"subject":null,"creator":"pdf-lib (https://github.com/Hopding/pdf-lib)","producer":"pdf-lib (https://github.com/Hopding/pdf-lib)","creationDate":"2026-03-13T14:13:21.000Z","modificationDate":"2026-03-13T14:13:21.000Z","pageCount":1,"pages":[{"index":0,"width":72,"height":72}]},"requestId":"ded7bd08-06c3-451d-8767-87516d81b086"}
                                                                                                                                                                                                                    
                                                                                                    

从PDF中提取元数据 - 代码片段


curl --location --request POST 'https://zylalabs.com/api/12011/html+to+pdf+generation+api/22878/extract+pdf+metadata' --header 'Authorization: Bearer YOUR_API_KEY' 

--data-raw '{
  "pdf": "JVBERi0xLjcKCjEgMCBvYmogICUKPDwvVHlwZSAvQ2F0YWxvZwovUGFnZXMgMiAwIFIKPj4KZW5kb2JqCgoyIDAgb2JqCjw8L1R5cGUgL1BhZ2VzCi9LaWRzIFszIDAgUl0KL0NvdW50IDEKPj4KZW5kb2JqCgozIDAgb2JqCjw8L1R5cGUgL1BhZ2UKL1BhcmVudCAyIDAgUgovTWVkaWFCb3ggWzAgMCA3MiA3Ml0KPj4KZW5kb2JqCgp4cmVmCjAgNAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwMTAgMDAwMDAgbiAKMDAwMDAwMDA2MCAwMDAwMCBuIAowMDAwMDAwMTE2IDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSA0Ci9Sb290IDEgMCBSCj4+CnN0YXJ0eHJlZgoxNzMKJSVFT0YK"
}'

    

API 访问密钥和身份验证

注册后,每个开发者都会被分配一个个人 API 访问密钥,这是一个唯一的字母和数字组合,用于访问我们的 API 端点。要使用 HTML到PDF生成 API 进行身份验证,只需在 Authorization 标头中包含您的 bearer token。
标头
标头 描述
授权 [必需] 应为 Bearer access_key. 订阅后,请查看上方的"您的 API 访问密钥"。

简单透明的定价

无长期承诺。随时升级、降级或取消。 免费试用包括最多 50 个请求。

🚀 企业版

起价
$ 10,000/年


  • 自定义数量
  • 自定义速率限制
  • 专业客户支持
  • 实时 API 监控

客户喜爱的功能

  • ✔︎ 仅支付成功请求
  • ✔︎ 7 天免费试用
  • ✔︎ 多语言支持
  • ✔︎ 一个 API 密钥,所有 API。
  • ✔︎ 直观的仪表板
  • ✔︎ 全面的错误处理
  • ✔︎ 开发者友好的文档
  • ✔︎ Postman 集成
  • ✔︎ 安全的 HTTPS 连接
  • ✔︎ 可靠的正常运行时间

HTML到PDF生成 API FAQs

每个端点返回特定的数据类型:HTML到PDF、URL到PDF和模板PDF生成端点返回二进制PDF文件。PDF合并端点也返回二进制PDF文件。元数据提取端点返回一个包含有关PDF详细元数据的JSON对象,包括标题、作者和页数

元数据提取响应中的关键字段包括“标题”“作者”“主题”“创作者”“制片人”“创建日期”“修改日期”和“页数”每个页面的尺寸也包含在“页面”数组中

HTML到PDF的端点接受参数,如“html”(HTML内容),“filename”(所需的PDF文件名)和“options”用于自定义,包括“format”(A3,A4等),“landscape”(真/假),“printBackground”(真/假)和“margin”设置

PDF合并接口的响应数据组织为二进制PDF文件。合并后的文档包含所有输入PDF的页面,按照提供的顺序排列,确保文档的无缝结合

PDF元数据提取端点提供文档的标题、作者、主题、创作者、制作人、创建和修改日期、总页面数以及每个页面的尺寸等信息,允许进行全面的文档分析

用户可以通过发送包含与所选模板(发票、收据或报告)相关的特定字段的结构化JSON数据来自定义他们的请求。每个模板都允许动态数据输入,例如发票的行项目或收据的交易详情

典型的用例包括从HTML模板生成可下载的发票 将网页归档为PDF以满足合规要求,以及创建需要以便携格式共享的报告或仪表板

用户可以将二进制PDF响应直接保存为扩展名为.pdf的文件 这允许通过API生成的文档便于共享 打印或归档 确保它们保持预期的格式和质量

HTML到PDF的转换端点接受最大5MB的HTML大小 对于PDF合并 每个PDF文件必须具有最大50MB的大小 元数据提取端点也接受最大50MB的PDF

用户可以通过调整“格式”(A3 A4 等)“方向”(纵向或横向)“边距”(上边距 下边距 等)和“背景打印”(包含或排除背景的颜色和图片)来定制 PDF 的外观

如果请求失败,API将返回一个结构化的JSON响应,其中包含错误代码、说明性消息和一个标志,指示请求是否可以重复

为了确保正确的渲染,用户必须提交有效且结构良好的HTML,包括兼容的CSS。API支持Flexbox、Grid和自定义字体,允许精确的格式化

可用的模型包括带有行项目和付款详情的发票 带有交易记录的收据以及多个部分和执行摘要的报告 允许创建专业文档

用户可以通过将每个文件作为编码为base64的字符串上传来合并2到20个PDF。API将返回一个包含所有输入文档页面的单个PDF,按提供的顺序排列

要处理一个 URL,页面必须是公开可访问的。API 完全渲染页面,包括由 JavaScript 生成的内容,但出于安全原因,阻止访问 localhost 或私有 IP 的 URL

一般常见问题

Zyla API Hub 就像一个大型 API 商店,您可以在一个地方找到数千个 API。我们还为所有 API 提供专门支持和实时监控。注册后,您可以选择要使用的 API。请记住,每个 API 都需要自己的订阅。但如果您订阅多个 API,您将为所有这些 API 使用相同的密钥,使事情变得更简单。

价格以 USD(美元)、EUR(欧元)、CAD(加元)、AUD(澳元)和 GBP(英镑)列出。我们接受所有主要的借记卡和信用卡。我们的支付系统使用最新的安全技术,由 Stripe 提供支持,Stripe 是世界上最可靠的支付公司之一。如果您在使用卡片付款时遇到任何问题,请通过 [email protected]


此外,如果您已经以这些货币中的任何一种(USD、EUR、CAD、AUD、GBP)拥有有效订阅,该货币将保留用于后续订阅。只要您没有任何有效订阅,您可以随时更改货币。

定价页面上显示的本地货币基于您 IP 地址的国家/地区,仅供参考。实际价格以 USD(美元)为单位。当您付款时,即使您在我们的网站上看到以本地货币显示的等值金额,您的卡片对账单上也会以美元显示费用。这意味着您不能直接使用本地货币付款。

有时,银行可能会因其欺诈保护设置而拒绝收费。我们建议您首先联系您的银行,检查他们是否阻止了我们的收费。此外,您可以访问账单门户并更改关联的卡片以进行付款。如果这些方法不起作用并且您需要进一步帮助,请通过 [email protected]

价格由月度或年度订阅决定,具体取决于所选计划。

API 调用根据成功请求从您的计划中扣除。每个计划都包含您每月可以进行的特定数量的调用。只有成功的调用(由状态 200 响应指示)才会计入您的总数。这确保失败或不完整的请求不会影响您的月度配额。

Zyla API Hub 采用月度订阅系统。您的计费周期将从您购买付费计划的那一天开始,并在下个月的同一日期续订。因此,如果您想避免未来的费用,请提前取消订阅。

要升级您当前的订阅计划,只需转到 API 的定价页面并选择您要升级到的计划。升级将立即生效,让您立即享受新计划的功能。请注意,您之前计划中的任何剩余调用都不会转移到新计划,因此在升级时请注意这一点。您将被收取新计划的全部金额。

要检查您本月剩余多少 API 调用,请参考响应标头中的 "X-Zyla-API-Calls-Monthly-Remaining" 字段。例如,如果您的计划允许每月 1,000 个请求,而您已使用 100 个,则响应标头中的此字段将显示 900 个剩余调用。

要查看您的计划允许的最大 API 请求数,请检查 "X-Zyla-RateLimit-Limit" 响应标头。例如,如果您的计划包括每月 1,000 个请求,此标头将显示 1,000。

"X-Zyla-RateLimit-Reset" 标头显示您的速率限制重置之前的秒数。这告诉您何时您的请求计数将重新开始。例如,如果它显示 3,600,则意味着还有 3,600 秒直到限制重置。

是的,您可以随时通过访问您的账户并在账单页面上选择取消选项来取消您的计划。请注意,升级、降级和取消会立即生效。此外,取消后,您将不再有权访问该服务,即使您的配额中还有剩余调用。

您可以通过我们的聊天渠道联系我们以获得即时帮助。我们始终在线,时间为上午 8 点至下午 5 点(EST)。如果您在该时间之后联系我们,我们将尽快回复您。此外,您可以通过 [email protected]

为了让您有机会在没有任何承诺的情况下体验我们的 API,我们提供 7 天免费试用,允许您免费进行最多 50 次 API 调用。此试用只能使用一次,因此我们建议将其应用于您最感兴趣的 API。虽然我们的大多数 API 都提供免费试用,但有些可能不提供。试用在 7 天后或您进行了 50 次请求后结束,以先发生者为准。如果您在试用期间达到 50 次请求限制,您需要"开始您的付费计划"以继续发出请求。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。或者,如果您在第 7 天之前不取消订阅,您的免费试用将结束,您的计划将自动计费,授予您访问计划中指定的所有 API 调用的权限。请记住这一点以避免不必要的费用。

7 天后,您将被收取试用期间订阅的计划的全额费用。因此,在试用期结束前取消很重要。因忘记及时取消而提出的退款请求不被接受。

当您订阅 API 免费试用时,您可以进行最多 50 次 API 调用。如果您希望超出此限制进行额外的 API 调用,API 将提示您执行"开始您的付费计划"。您可以在个人资料中的订阅 -> 选择您订阅的 API -> 定价标签下找到"开始您的付费计划"按钮。

付款订单在每月 20 日至 30 日之间处理。如果您在 20 日之前提交请求,您的付款将在此时间范围内处理。


相关 API


您可能还喜欢