Стоимость
Работает на Cloudflare Workers — а не на контейнере Chromium 800 МБ за $0,40/час, простаивающем впустую. $0,00005 за страницу. Без минимумов, без оплаты за место, без надбавок за окружение.
100 000 страниц за 5 $. PDF создаются на edge-узлах за несколько миллисекунд
Создано для глобального масштаба Полная поддержка стандартов PDF/A, Factur-X и ZUGFeRD
Отредактируйте DocumentRequest слева. Вызовите live edge worker
настоящая схема, настоящий PDF, обычно <5 мс.
Работает на Cloudflare Workers — а не на контейнере Chromium 800 МБ за $0,40/час, простаивающем впустую. $0,00005 за страницу. Без минимумов, без оплаты за место, без надбавок за окружение.
Архивные профили PDF/A (1b, 2b, 3b, 4) по запросу. Factur-X, ZUGFeRD и EN 16931 поддерживаются нативно — Раздел 5 справочника API, не пункт roadmap.
pages[], elements[], x/y в миллиметрах. Без HTML→PDF, без headless Chrome, без DSL шаблонов для изучения. Тот же JSON кормит API и визуальный редактор — дизайнеры и разработчики правят один файл.
Latin, CJK, арабский (RTL + сложное shaping), Devanagari, кириллица, Bengali и Thai встроены в движок — плюс 3000+ цветных эмодзи. Без `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,1 мм.
// 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 плюс встроенный поток XML-вложения, которого требуют Factur-X / ZUGFeRD. Одно поле — один соответствующий документ.
// top-level on DocumentRequest
"settings": {
"profile": "pdfa-3b"
} PDF/A and Factur-X, explained {page} / {total_pages} разрешаются после layout. 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 или пишите вручную — все три маршрута 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. Четыре числа, которые fintech, 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,1 мм — перевозчики и 3PL печатают на пике без растеризованных штрих-кодов.
// 4×6 thermal shipping label
{ "size": "label_4_6_in",
"elements": [{
"type": "barcode",
"format": "code128",
"content": "1Z999AA10123456784" }]} Shipping-label use case A4-счет на 1 страницу, 12 позиций, QR + логотип. Медиана по 1000 созданиям 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 →
Нет per-seat. Нет per-environment. Нет gatekeeping по уровню поддержки.
Все платные уровни включают одни и те же
Для регулируемых команд, развертываний в private cloud/VPC и изолированных интранет-сред. gPdf можно запускать как выделенный Worker, сервер или deployment за шлюзом; сетевые правила, требования к региону, условия DPA и эскалация поддержки согласуются под проект.
Двенадцать ответов — цитируются дословно JSON-LD FAQPage, который потребляют Google rich results.
p50 — 3 мс, p99 — 8 мс на одной странице A4 при измерении на 1000 вызовах. Полное edge-время с учётом сети обычно 8-15 мс.
Тело DocumentRequest в JSON. Страницы, элементы, слои, водяные знаки, заголовки, нижние колонтитулы и таблицы выражены структурно — без HTML, без Markdown, без браузерного прохода layout.
Headless Chromium работает за 200-800 мс на рендер и требует контейнер 800 МБ. gPdf рендерит ту же страницу A4 за 3 мс внутри V8-isolate 1 МБ, без холодного старта. Компромисс — формат ввода: gPdf принимает JSON DocumentRequest, не сырой HTML.
Три: /api/v1/pdf/render принимает полный DocumentRequest для попиксельного контроля. /api/v1/template-render принимает template_id плюс массив данных. /api/v1/e-invoice/render производит гибридные счета Factur-X / ZUGFeRD (PDF/A-3 + встроенный XML). Все три разделяют один движок, одни лимиты скорости и одну поверхность кодов ошибок.
Нет. NotoSans CJK встроен и автоматическая цепочка fallback обрабатывает отсутствующие глифы. Вы никогда не увидите тофу-боксы и вам не нужно apt install fonts-noto-cjk на runtime.
Более 30 символик включая QR, GS1-128, PDF417, DataMatrix, Aztec, MaxiCode и Code 128. Все векторные. Общая длина штрих-кода в пределах 0,1 мм от запрошенного размера — достаточно точно для ширины этикеток по спецификациям GS1 и ITF-14.
Да. PDF/A-1b, 2b, 3b и 4 выбираются на запрос. Потоки вложений Factur-X и ZUGFeRD поддерживаются для сценариев электронных счетов.
Да. Установите settings.profile в pdfa-3b и приложите структурированный XML payload как файловый поток. Factur-X и ZUGFeRD основаны на PDF/A-3 — требуются для немецкого мандата электронных счетов, уже действующего, и французского B2B мандата с сентября 2026.
Внутри V8-isolates Cloudflare Workers. Нет Chromium-контейнера, нет Lambda warming, нет персистентности документов после запроса.
Нет. Рендерер stateless. Ваш DocumentRequest живёт в V8-isolate несколько миллисекунд рендеринга, затем исчезает. У gPdf нет слоя кэширования и хранилища документов — отсутствие состояния является контрактом, а не опцией.
Да. Free Trial даёт 100 страниц в день, без кредитной карты. Сбрасывается ежедневно и останавливается на квоте — никаких сюрприз-счетов. Платные уровни начинаются от $5 в месяц за 100 000 страниц.
Откройте playground выше, отредактируйте DocumentRequest и нажмите Создать PDF — живой edge-worker возвращает реальный PDF. Скопируйте curl-сниппет в свой терминал, чтобы вызывать его откуда угодно. Playground не требует установки и кредитной карты; учётная запись нужна только для выпуска собственного API-ключа.
Нейтральный фреймворк для выбора API генерации PDF. Восемь вопросов, которые показывают, будете ли вы довольны через 12 месяцев.
DocRaptor использует Prince для конвертации HTML в PDF на хостинговом бэкенде. gPdf рендерит структурированный JSON напрямую на edge Cloudflare. Разница цен — 18×. Вот почему это не наживка.
Что профили PDF/A реально ограничивают, почему Factur-X становится обязательным в ЕС в 2026, и наименьший практический pipeline для соответствия из JSON-renderer.
Аудируемая инженерия плюс бумажная работа — оба регистра, оба проверяемые.
Варианты резидентности EU, US, APAC и SA. Требования к региону фиксируются в договоре.
Нет персистентности документов. В продукте нет слоя кэша или хранилища документов.
Названные конкуренты, полная методология, дата выборки. Каждый бенчмарк на этой странице воспроизводим — повторите на своей нагрузке перед решением.
Тот же ввод → байт-идентичный PDF. Diffable. Тестируется в CI без дрейфа снимков.