Koszt
Działa na Cloudflare Workers — nie 800 MB kontenera Chromium, który kosztuje $0,40/godz. bez powodu. $0,00005 za stronę. Bez minimów, bez opłat per-seat, bez dopłat za środowisko.
100 000 stron za 5 USD. PDF-y tworzone na edge w kilka milisekund
Zbudowane dla skali globalnej Pełna zgodność z wymogami PDF/A, Factur-X i ZUGFeRD
Edytuj DocumentRequest po lewej. Wywołaj live edge worker
prawdziwy schema, prawdziwy PDF, zwykle <5 ms.
Działa na Cloudflare Workers — nie 800 MB kontenera Chromium, który kosztuje $0,40/godz. bez powodu. $0,00005 za stronę. Bez minimów, bez opłat per-seat, bez dopłat za środowisko.
Profile archiwalne PDF/A (1b, 2b, 3b, 4) na żądanie. Factur-X, ZUGFeRD i EN 16931 wspierane natywnie — Sekcja 5 referencji API, nie link w roadmapie.
pages[], elements[], x/y w milimetrach. Bez HTML→PDF, bez headless Chrome, bez DSL szablonów do nauki. Ten sam JSON zasila API i edytor wizualny — projektanci i programiści edytują jeden plik.
Latin, CJK, arabski (RTL + złożone ligatury), dewanagari, cyrylica, bengali i tajski wbudowane w silnik — plus 3000+ kolorowych emoji. Bez `apt install fonts-noto-cjk`. Nigdy brakującego glifu.
Prawdziwa semantyka dokumentu, nie zrzuty ekranu przeglądarki w wrapperze PDF.
x/y w milimetrach, x_anchor dla wyrównania do prawej, pozycjonowanie sub-milimetrowe na etykietach. Współrzędne, nie przybliżenia.
// inside elements[i]
"x_anchor": {
"reference": "content_right",
"offset": 6
} 30+ symboliki w tym GS1-128, QR, PDF417, DataMatrix. Wszystkie wektorowe. Łączna długość dokładna do 0,1 mm.
// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001" Why vector beats raster font_mode: strict (zadeklarowana rodzina musi pokryć wszystkie glify), prefer (fallback przez wbudowane rodziny), auto (silnik wybiera). Wyczerpanie auto/prefer zwraca API-504 — błąd jawny, nie cichy.
// inside style{}
"font_family": "NotoSans-Regular",
"font_mode": "prefer" settings.profile = "pdfa-3b" włącza zgodność PDF/A-3b oraz wbudowany strumień załączników XML wymagany przez Factur-X / ZUGFeRD. Jedno pole, jeden zgodny dokument.
// top-level on DocumentRequest
"settings": {
"profile": "pdfa-3b"
} PDF/A and Factur-X, explained {page} / {total_pages} rozwiązywane po layout. keep_together, widow/orphan, bloki page_break.
// element of type "variable"
{ "type": "variable",
"name": "page",
"scope": "system" } row_span między stronami, powtarzane nagłówki, alternate_fill, złożone podwójne obramowania. Ten 1 % co zawsze się psuje.
// inside table element
"pagination": {
"keep_spans_together": true
} Ten sam JSON DocumentRequest napędza POST /api/v1/pdf/render i edytor wizualny pod editor.gpdf.com. Edytuj wizualnie, wysyłaj przez API lub pisz ręcznie — wszystkie trzy ścieżki round-trippują ten sam plik.
// 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 za stronę, p50 3 ms, osadzony CJK, strumień załącznika PDF/A-3. Cztery liczby, które zespoły fintech, ERP i compliance podatkowy sprawdzają najpierw.
// invoice — header + table pattern
{ "size": "a4",
"elements": [
{ "type": "text", "x": 18, "y": 22, ... },
{ "type": "table", "x": 18, "y": 60, ... }
]} Why JSON beats HTML→PDF Presety rozmiarów label_100_150 i label_4_6_in. Wektorowe GS1-128, ITF-14, SSCC z precyzją 0,1 mm — przewoźnicy i 3PL drukują w szczycie bez rastrowych kodów kreskowych.
// 4×6 thermal shipping label
{ "size": "label_4_6_in",
"elements": [{
"type": "barcode",
"format": "code128",
"content": "1Z999AA10123456784" }]} Shipping-label use case Jednostronicowa faktura A4, 12 pozycji, QR + logo. Mediana z 1000 wygenerowań PDF. Niżej znaczy lepiej.
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 →
Bez per-seat. Bez per-environment. Bez gatekeepingu poziomu wsparcia.
Wszystkie poziomy płatne zawierają te same
Dla zespołów regulowanych, wdrożeń w chmurze prywatnej/VPC i izolowanych środowisk intranetowych. gPdf może działać jako dedykowany Worker, serwer lub deployment za bramą; kontrola sieci, wymagania regionalne, warunki DPA i eskalacja wsparcia są ustalane dla projektu.
Dwanaście odpowiedzi — cytowanych dosłownie przez JSON-LD FAQPage konsumowany przez Google rich results.
p50 to 3 ms, p99 to 8 ms na pojedynczej stronie A4 mierzone na 1000 wywołaniach. Łączny czas edge z siecią to zwykle 8-15 ms.
Body DocumentRequest w JSON. Strony, elementy, warstwy, znaki wodne, nagłówki, stopki i tabele wyrażane są strukturalnie — bez HTML, bez Markdown, bez przebiegu layoutu przeglądarki.
Headless Chromium działa 200-800 ms na render i potrzebuje kontenera 800 MB. gPdf renderuje tę samą stronę A4 w 3 ms wewnątrz isolatu V8 1 MB, bez zimnego startu. Kompromis to format wejściowy: gPdf przyjmuje JSON DocumentRequest, nie surowy HTML.
Trzy: /api/v1/pdf/render przyjmuje pełny DocumentRequest do kontroli na poziomie piksela. /api/v1/template-render przyjmuje template_id plus tablicę danych. /api/v1/e-invoice/render produkuje hybrydowe faktury Factur-X / ZUGFeRD (PDF/A-3 + osadzony XML). Wszystkie trzy dzielą ten sam silnik, te same limity i tę samą powierzchnię kodów błędów.
Nie. NotoSans CJK jest osadzony, a automatyczny łańcuch fallback obsługuje brakujące glify. Nigdy nie zobaczysz tofu boxów i nie potrzebujesz apt install fonts-noto-cjk na runtime.
Ponad 30 symboliki w tym QR, GS1-128, PDF417, DataMatrix, Aztec, MaxiCode i Code 128. Wszystkie wektorowe. Łączna długość kodu kreskowego mieści się w 0,1 mm żądanego rozmiaru — wystarczająco precyzyjna dla szerokości etykiet określonych przez GS1 i ITF-14.
Tak. PDF/A-1b, 2b, 3b i 4 wybierane na żądanie. Strumienie załączników Factur-X i ZUGFeRD są obsługiwane dla scenariuszy e-faktury.
Tak. Ustaw settings.profile na pdfa-3b i dołącz strukturyzowany payload XML jako strumień plików. Factur-X i ZUGFeRD bazują na PDF/A-3 — wymagane dla niemieckiego mandatu e-faktury już obowiązującego i francuskiego mandatu B2B od września 2026.
W isolatach V8 Cloudflare Workers. Bez kontenera Chromium, bez warmingu Lambda, bez persystencji dokumentu po żądaniu.
Nie. Renderer jest stateless. Twój DocumentRequest żyje w isolacie V8 przez kilka milisekund renderingu, potem znika. gPdf nie ma warstwy cache ani magazynu dokumentów — bezstanowość to kontrakt, nie opcja.
Tak. Free Trial daje 100 stron dziennie, bez karty kredytowej. Resetuje się codziennie i zatrzymuje na limicie — bez niespodziewanych rachunków. Płatne poziomy zaczynają się od $5 miesięcznie za 100 000 stron.
Otwórz playground powyżej, edytuj DocumentRequest i naciśnij Utwórz PDF — żywy edge-worker zwraca prawdziwy PDF. Skopiuj snippet curl do swojego terminala, by wywoływać go skądkolwiek. Playground nie wymaga instalacji ani karty kredytowej; konto potrzebne jest tylko do wydania własnego klucza API.
Neutralny framework wyboru API do generowania PDF. Osiem pytań, które pokazują, czy za 12 miesięcy nadal będziesz zadowolony.
DocRaptor używa Prince do konwertowania HTML na PDF na hostowanym backendzie. gPdf renderuje strukturyzowany JSON bezpośrednio na edge Cloudflare. Różnica cen to 18×. Oto dlaczego to nie jest przynęta.
Co naprawdę ograniczają profile PDF/A, dlaczego KSeF stał się obowiązkowy w Polsce w 2024, i najmniejszy praktyczny pipeline do wydania zgodnego z renderera JSON.
Audytowalna inżynieria plus dokumenty — oba rejestry, oba weryfikowalne.
Opcje rezydencji danych w UE, US, APAC i SA. Wymagania regionalne ustalane są w umowie.
Bez persystencji dokumentów. Brak warstwy cache lub magazynu dokumentów w produkcie.
Wymienieni konkurenci, pełna metodologia, data próby. Każdy benchmark na tej stronie jest reprodukowalny — uruchom ponownie na własnym workloadzie przed decyzją.
To samo wejście → bajt-identyczny PDF. Diff-owalny. Testowalny w CI bez dryfu snapshotów.