Kosten
Draait op Cloudflare Workers — geen 800 MB Chromium-container die voor $0,40/uur niets staat te doen. $0,00005 per pagina. Geen minimumprijs, geen seat-licenties, geen omgevingsopslag.
100.000 pagina's voor $5. PDF's aan de edge in enkele milliseconden gegenereerd
Gebouwd voor wereldwijde schaal Volledig conform de PDF/A, Factur-X en ZUGFeRD mandaten
Bewerk links de DocumentRequest. Roep de live edge worker aan
echt schema, echte PDF, meestal <5 ms.
Draait op Cloudflare Workers — geen 800 MB Chromium-container die voor $0,40/uur niets staat te doen. $0,00005 per pagina. Geen minimumprijs, geen seat-licenties, geen omgevingsopslag.
PDF/A-archiveringsprofielen (1b, 2b, 3b, 4) op verzoek. Factur-X, ZUGFeRD en EN 16931 als native e-invoice payloads — Sectie 5 van de API-referentie, geen roadmap-link.
pages[], elements[], x/y in millimeters. Geen HTML→PDF, geen headless Chrome, geen template-DSL om te leren. Hetzelfde JSON voedt de API en de visuele editor — ontwerpers en ontwikkelaars bewerken één bestand.
Latijn, CJK, Arabisch (RTL + complexe shaping), Devanagari, Cyrillisch, Bengaals en Thai meegeleverd in de engine — plus 3000+ kleur-emoji's. Geen `apt install fonts-noto-cjk`. Nooit een ontbrekend teken.
Echte documentsemantiek, geen browser-screenshots in een PDF-wrapper.
x/y in millimeters, x_anchor voor rechtsuitlijning, sub-millimeter plaatsing op labels. Coördinaten, geen benaderingen.
// inside elements[i]
"x_anchor": {
"reference": "content_right",
"offset": 6
} 30+ symbologieën incl. GS1-128, QR, PDF417, DataMatrix. Allemaal vector. Totale lengte tot 0,1 mm nauwkeurig.
// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001" Why vector beats raster font_mode: strict (gedeclareerde familie moet alle glyphs dekken), prefer (val terug op meegeleverde families), auto (engine kiest). Uitputting van auto/prefer geeft API-504 — fail-loud, niet stil.
// inside style{}
"font_family": "NotoSans-Regular",
"font_mode": "prefer" settings.profile = "pdfa-3b" activeert PDF/A-3b-conformiteit plus de ingebedde XML-bijlagestroom die Factur-X / ZUGFeRD vereisen. Eén veld, één conform document.
// top-level on DocumentRequest
"settings": {
"profile": "pdfa-3b"
} PDF/A and Factur-X, explained {page} / {total_pages} opgelost na layout. keep_together, widow/orphan, page_break-blokken.
// element of type "variable"
{ "type": "variable",
"name": "page",
"scope": "system" } row_span over pagina's, herhalende headers, alternate_fill, samengestelde dubbele randen. Die 1 % die altijd breekt.
// inside table element
"pagination": {
"keep_spans_together": true
} Hetzelfde DocumentRequest JSON drijft POST /api/v1/pdf/render en de visuele editor op editor.gpdf.com aan. Bewerk visueel, lever via API of schrijf met de hand — alle drie de wegen round-trippen hetzelfde bestand.
// 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 per pagina, p50 3 ms, ingebed CJK, PDF/A-3-bijlagestream. De vier cijfers die fintech-, ERP- en belastingteams als eerste checken.
// 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- en label_4_6_in-formaatpresets. Vector GS1-128, ITF-14, SSCC met 0,1 mm precisie — vervoerders en 3PL's printen op piekvolume zonder gerasterde barcodes.
// 4×6 thermal shipping label
{ "size": "label_4_6_in",
"elements": [{
"type": "barcode",
"format": "code128",
"content": "1Z999AA10123456784" }]} Shipping-label use case A4-factuur van 1 pagina, 12 regels, QR + logo. Mediaan van 1000 PDF-generaties. Lager is beter.
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 →
Geen per-seat. Geen per-environment. Geen gatekeeping per supportlevel.
Alle betaalde tiers bevatten dezelfde
Voor gereguleerde teams, private-cloud/VPC-deployments en geïsoleerde intranetomgevingen. Draai gPdf als dedicated Worker-, server- of gateway-backed deployment; netwerkcontroles, regio-eisen, DPA-voorwaarden en support-escalatie worden per engagement afgestemd.
Twaalf antwoorden — letterlijk geciteerd door de JSON-LD FAQPage die Google rich results consumeren.
p50 is 3 ms en p99 is 8 ms op een enkele A4-pagina gemeten over 1000 invocations. Totale edge wall time inclusief netwerk is doorgaans 8-15 ms.
Een JSON DocumentRequest body. Pagina's, elementen, lagen, watermerken, headers, footers en tabellen worden allemaal structureel uitgedrukt — geen HTML, geen Markdown, geen browser-layout-pass.
Headless Chromium loopt 200-800 ms per render en heeft een 800 MB-container nodig. gPdf rendert dezelfde A4-pagina in 3 ms binnen een 1 MB V8-isolate, zonder cold start. De trade-off is invoerformaat: gPdf accepteert een JSON DocumentRequest, geen ruwe HTML.
Drie: /api/v1/pdf/render accepteert een volledige DocumentRequest voor pixelniveau-controle. /api/v1/template-render accepteert template_id plus een data-array. /api/v1/e-invoice/render produceert Factur-X / ZUGFeRD-hybride facturen (PDF/A-3 + ingebedde XML). Alle drie delen dezelfde engine, dezelfde rate limits en hetzelfde foutcode-oppervlak.
Nee. NotoSans CJK is ingebed en een automatische font-fallback-keten verwerkt ontbrekende glyphs. Je ziet nooit tofu-boxen en hoeft geen apt install fonts-noto-cjk op je runtime.
Meer dan 30 symbologieën inclusief QR, GS1-128, PDF417, DataMatrix, Aztec, MaxiCode en Code 128. Allemaal vector. Totale barcodelengte binnen 0,1 mm van het gevraagde formaat — nauwkeurig genoeg voor labelbreedtes volgens GS1 en ITF-14.
Ja. PDF/A-1b, 2b, 3b en 4 zijn per request selecteerbaar. Factur-X- en ZUGFeRD-bijlagestreams worden ondersteund voor e-factuurscenario's.
Ja. Stel settings.profile in op pdfa-3b en hang de gestructureerde XML-payload als bestandsstream aan. Factur-X en ZUGFeRD bouwen op PDF/A-3 — vereist voor het Duitse e-factuurmandaat dat al van kracht is en het Franse B2B-mandaat vanaf september 2026.
Binnen Cloudflare Workers V8-isolates. Geen Chromium-container, geen Lambda-warming, en geen documentpersistentie na het verzoek.
Nee. De renderer is stateless. Je DocumentRequest leeft enkele milliseconden in een V8-isolate tijdens het renderen, daarna is het weg. gPdf heeft geen cachelaag of documentopslag — statelessness is het contract, geen opt-in toggle.
Ja. De Free Trial geeft 100 pagina's per dag, zonder creditcard. Reset dagelijks en stopt bij quotum — geen verrassingsfacturen. Betaalde tiers beginnen bij $5 per maand voor 100.000 pagina's.
Open de playground hierboven, bewerk de DocumentRequest en druk op PDF genereren — de live edge-worker retourneert een echte PDF. Kopieer het curl-snippet in je terminal om het overal aan te roepen. De playground vereist geen installatie en geen creditcard; een account is alleen nodig om je eigen API-sleutel uit te geven.
Een vendor-neutraal kader om een PDF-generatie-API te kiezen. Acht vragen die voorspellen of je over 12 maanden nog tevreden bent.
DocRaptor gebruikt Prince om HTML naar PDF om te zetten op een gehoste backend. gPdf rendert gestructureerde JSON direct op de Cloudflare-edge. Het prijsverschil is 18×. Hier waarom dat geen lokmiddel is.
Wat PDF/A-profielen werkelijk beperken, waarom Peppol BIS 3 verplicht wordt in Nederland in 2026, en de kleinste praktische pipeline om compliant te worden vanaf een JSON-renderer.
Auditable engineering plus papierwerk — beide registers, beide verifieerbaar.
Residentie-opties voor EU, US, APAC en SA. Regio-eisen worden contractueel afgestemd.
Geen documentpersistentie. Er is geen cachelaag of documentopslag in het product.
Genoemde concurrenten, volledige methodologie, sampledatum. Elke benchmark op deze pagina is reproduceerbaar — voer opnieuw uit op je eigen workload voor je beslist.
Zelfde input → byte-identieke PDF. Diff-baar. Testbaar in CI zonder snapshot-drift.