低成本
跑在 Cloudflare Workers 上,不是常驻一台 800 MB Chromium 容器、每小时 $0.40 空转。每页 $0.00005,没有起步价、没有按席位计费、没有环境分级。
$5 生成 100,000 页。PDF 在边缘节点通常几毫秒内生成完毕
专为全球海量业务打造 全面兼容 PDF/A、Factur-X 与 ZUGFeRD 强制合规标准
左侧编辑 DocumentRequest,调用实时边缘 Worker
真实 schema、真实 PDF,通常 <5 ms。
跑在 Cloudflare Workers 上,不是常驻一台 800 MB Chromium 容器、每小时 $0.40 空转。每页 $0.00005,没有起步价、没有按席位计费、没有环境分级。
PDF/A 归档配置(1b / 2b / 3b / 4)按请求即开。原生支持 Factur-X、ZUGFeRD、EN 16931 电子发票负载 —— API 文档第 5 章,不是 roadmap 上的"即将推出"。
pages[]、elements[]、x/y 以毫米计。不需要 HTML→PDF、不需要 headless Chrome、不需要学一套模板 DSL。同一份 JSON 喂给 API 和可视化编辑器 —— 设计师和开发同改一个文件。
引擎内置 Latin、CJK、阿拉伯(RTL + 复杂连字)、天城体、西里尔、孟加拉、泰文 —— 外加 3000+ 彩色 emoji。不用 `apt install fonts-noto-cjk`,永远不出豆腐字。
真正的文档语义,不是把浏览器截图塞进 PDF。
x/y 以毫米计、x_anchor 用于右边缘对齐、标签上亚毫米级定位。是坐标,不是近似。
// inside elements[i]
"x_anchor": {
"reference": "content_right",
"offset": 6
} 30+ 种符号体系:GS1-128、QR、PDF417、DataMatrix。全部矢量,条码整体长度精度 0.1mm。
// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001" Why vector beats raster font_mode 三档:strict(声明的字体族必须覆盖所有字符)、prefer(沿内置字体链回退)、auto(引擎自选)。auto/prefer 全链耗尽返回 API-504 —— 显式失败,不静默吞。
// inside style{}
"font_family": "NotoSans-Regular",
"font_mode": "prefer" settings.profile = "pdfa-3b" 一键触发 PDF/A-3b 合规以及 Factur-X / ZUGFeRD 所需的嵌入式 XML 附件流。一个字段,一份合规文档。
// top-level on DocumentRequest
"settings": {
"profile": "pdfa-3b"
} PDF/A and Factur-X, explained {page} / {total_pages} 在版面定稿后替换。keep_together、widow/orphan、page_break。
// element of type "variable"
{ "type": "variable",
"name": "page",
"scope": "system" } row_span 跨页、表头重复、alternate_fill、双线边框。最容易出问题的那 1%。
// inside table element
"pagination": {
"keep_spans_together": true
} 同一份 DocumentRequest JSON 同时驱动 POST /api/v1/pdf/render 和 editor.gpdf.com 上的可视化编辑器。可视编辑、API 出件、手写 JSON —— 三种姿势,同一份文件互相 round-trip。
// three routes, one engine
POST /api/v1/pdf/render
POST /api/v1/template-render
POST /api/v1/e-invoice/render Read the API reference 每页 $0.00005、p50 3 毫秒、内嵌 CJK、PDF/A-3 附件流——金融、ERP 与税务团队最先核对的四个数字。
// invoice — header + table pattern
{ "size": "a4",
"elements": [
{ "type": "text", "x": 18, "y": 22, ... },
{ "type": "table", "x": 18, "y": 60, ... }
]} Why JSON beats HTML→PDF label_100_150、label_4_6_in 页面尺寸预设。矢量 GS1-128 / ITF-14 / SSCC、整体长度精度 0.1mm——承运商与 3PL 在高峰量级下出单不掉精度。
// 4×6 thermal shipping label
{ "size": "label_4_6_in",
"elements": [{
"type": "barcode",
"format": "code128",
"content": "1Z999AA10123456784" }]} Shipping-label use case A4 单页发票,12 行明细,QR + logo。1,000 次 PDF 生成的中位数。越低越好。
Methodology: 1-page A4 invoice · 12 line items · 1 QR + 1 logo · 1K invocations · median (p50) and p99 reported. Sampled 2026-04-29 from a workstation in EU-WEST. PDFShift, DocRaptor, Puppeteer and LaTeX numbers are reproduced from each vendor's published quickstart sample with the same input — re-run on your own workload before deciding. Read the head-to-head comparisons →
不按坐席。不按环境。不按支持等级设卡。
三档付费方案共享同样的 100K 月含量与同样的渲染限额。差异仅在 metadata 自定义、PDF/A 档位、超额单价。
每天
每月含
每月含
每月含
面向受监管团队、私有云 / VPC 部署,以及隔离内网场景。gPdf 可作为专属 Worker、Server 或网关前置部署运行;网络控制、区域要求、DPA 条款与支持升级按项目确认。
12 条问答 — Google rich result 消费的 FAQPage JSON-LD 直接复用同一份文本。
单页 A4 测量 1000 次:p50 3 毫秒、p99 8 毫秒。包含网络的边缘总耗时通常在 8 到 15 毫秒之间。
JSON DocumentRequest。页面、元素、图层、水印、页眉页脚、表格全部用结构化字段描述——不走 HTML、不走 Markdown、不依赖浏览器排版。
Headless Chromium 单次渲染 200 到 800 毫秒,需要一个 800 MB 容器。gPdf 在 1 MB 的 V8 isolate 里 3 毫秒完成同一页 A4,且无冷启动。代价是入参格式不同:gPdf 接 JSON DocumentRequest,不接原生 HTML。
三个:/api/v1/pdf/render 接收完整 DocumentRequest,适合像素级控制;/api/v1/template-render 接收 template_id 加 data 数组,适合模板已发布的场景;/api/v1/e-invoice/render 出 Factur-X / ZUGFeRD 混合发票(PDF/A-3 + 嵌入 XML)。三个端点共用同一渲染引擎、限额与错误码体系。
不需要。NotoSans CJK 已内嵌,自动 fallback 链路处理缺失字形,永远不会出现豆腐字,也不需要 apt install fonts-noto-cjk。
30+ 种符号体系,包括 QR、GS1-128、PDF417、DataMatrix、Aztec、MaxiCode、Code 128。全部矢量绘制,条码整体长度与请求尺寸偏差不超过 0.1mm——足够对齐 GS1、ITF-14 等对宽度有硬性规格的标签。
可以。PDF/A-1b、2b、3b、4 都可按请求选择;Factur-X、ZUGFeRD 附件流支持电子发票场景。
可以。把 settings.profile 设为 pdfa-3b,并以文件流附上结构化 XML 即可。Factur-X / ZUGFeRD 附件流基于 PDF/A-3——德国电子发票强制条款已生效,法国 B2B 强制条款于 2026 年 9 月起执行。
Cloudflare Workers V8 isolate 内。没有 Chromium 容器,没有 Lambda 预热,请求结束后文档不会驻留。
不会。渲染器是无状态的。你的 DocumentRequest 只在 V8 isolate 里存在渲染那几毫秒,然后就消失。gPdf 没有缓存层、也没有文档存储——无状态是产品契约,不是一个可以开关的选项。
有。免费试用每天 100 页、无需绑卡。每日自动重置,用尽即停——不会出现意外账单。付费档每月 100K 页、$5 起。
上面的 API 试用台,编辑 DocumentRequest 然后点「生成 PDF」——边缘 Worker 会返回真实 PDF。把 curl 片段复制到终端就能从任何地方调用。API 试用台免安装、无需信用卡;只有签发你自己的 API key 时才需要登录。
一套不绑定厂商的 PDF 生成 API 选型框架。真正能预测你 12 个月后是否还满意的,是这 8 个问题。
DocRaptor 在托管后端用 Prince 把 HTML 转成 PDF。gPdf 在边缘把结构化 JSON 直接生成 PDF。价格相差 18×。这不是钓鱼价。
Puppeteer 能把任何网页渲染成 PDF,但你大部分时候是在为一个用不上的无头浏览器买单。一份给 2026 年技术选型用的实用对比。
可审计的工程能力,加上合规文档——两者都可验证。
支持 EU、US、APAC、SA 数据驻留选项。区域要求按合同确认。
同样的输入产出字节一致的 PDF。可 diff、可在 CI 里跑而不会出现快照漂移。