v2026.05 · API voor PDF-generatie uit JSON

'S werelds snelste API voor facturen en labels in grote volumes

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

Probeer de live API Bekijk API-referentie geen creditcard · geen installatie · curl-vriendelijk
CPU / render (p50)
4.98ms · 24h
Bediende verzoeken
299/ 24h
Kosten
$5 / 100K
Regio's
300+ pops
30+ barcodeformaten 4 PDF/A-profielen 100K pagina's vanaf $5/maand
Playground

Verstuur JSON. Genereer een PDF.
Kernmogelijkheden, allemaal op één pagina.

Bewerk links de DocumentRequest. Roep de live edge worker aan
echt schema, echte PDF, meestal <5 ms.

Waarom gPdf

gPdf rust op vier pijlers.

01 / 04
$5
per 100K pages

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.

02 / 04
PDF/A
1b · 2b · 3b · 4

Standaarden

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.

03 / 04
JSON → PDF
API + editor, one schema

JSON-native

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.

04 / 04
3000+
color emoji, embedded

Typografie

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.

Functies

De essentiële details, goed uitgevoerd.

Echte documentsemantiek, geen browser-screenshots in een PDF-wrapper.

Browse use cases
/01

Pixelnauwkeurige controle

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
}
/02

Vector-barcodes

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
/03

Font-fallback-keten

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"
/04

Compliance-modi

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
/05

Variabelen + paginering

{page} / {total_pages} opgelost na layout. keep_together, widow/orphan, page_break-blokken.

// element of type "variable"
{ "type": "variable",
  "name": "page",
  "scope": "system" }
/06

Tabellen die pagineren

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
}
/07

Eén JSON, twee oppervlakken

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
/08

Gebouwd voor facturen

$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
/09

Gebouwd voor verzendlabels

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
Benchmarks · sampled 2026-04-29

Gemeten, niet gemarket.

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 →

0 105ms 210ms 315ms 420ms
01 gPdf ours
3.8ms
02 PDFShift
95ms
03 DocRaptor (Prince)
180ms
04 Puppeteer (headless)
312ms
05 LaTeX (local)
420ms
Prijzen

Betaal voor pagina's. Niets anders.

Geen per-seat. Geen per-environment. Geen gatekeeping per supportlevel.

Alle betaalde tiers bevatten dezelfde 100.000 pagina's en dezelfde renderlimieten. Ze verschillen alleen in metadata-aanpassing, beschikbaarheid van PDF/A-profielen en overschrijdingstarief.

Free Trial

/free
$0 voor altijd

100 pagina's / dag · stopt bij quotum.

  • +100 pagina's / dag · auto-reset
  • +Playground + API-evaluatie
  • +Geen kaart vereist
  • +E-mailsupport · SLA 1 werkdag
Probeer Playground

Basic

/basic
$5 / maand

100.000 pagina's / maand inbegrepen.

  • +100.000 pagina's / maand inbegrepen
  • +Overschrijding $0.00005 per pagina
  • +Standaard PDF-metadata · niet aanpasbaar
  • +Alleen standaard PDF · geen PDF/A-profielen
  • +E-mailsupport · SLA 1 werkdag
Abonneren

Pro

/pro
$8 / maand

100.000 pagina's / maand inbegrepen. Aanpasbare metadata.

  • +100.000 pagina's / maand inbegrepen
  • +Overschrijding $0.00008 per pagina
  • +Titel · onderwerp · maker aanpasbaar
  • +Alleen standaard PDF · geen PDF/A-profielen
  • +E-mailsupport · SLA 1 werkdag
Abonneren

Enterprise

/ent
$12 / maand

100.000 pagina's / maand inbegrepen. PDF/A + volledige metadata.

  • +100.000 pagina's / maand inbegrepen
  • +Overschrijding $0.00012 per pagina
  • +Alle 6 metadatavelden volledig aanpasbaar
  • +PDF/A-1b · 2b · 3b · 4 ingeschakeld
  • +E-mailsupport · SLA 1 werkdag
Abonneren
Private deployment

gPdf binnen je eigen perimeter nodig?

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.

  • +Private cloud, VPC of geïsoleerd netwerk
  • +Dedicated Worker-/serverdeployment
  • +DPA-voorwaarden en residency-controles
  • +Supportmodel vooraf afgestemd
Contact voor private deployment · soon
FAQ

Vragen die ontwikkelaars echt stellen.

Twaalf antwoorden — letterlijk geciteerd door de JSON-LD FAQPage die Google rich results consumeren.

/01

Hoe snel rendert gPdf een PDF?

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.

/02

Welk invoerformaat accepteert de API?

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.

/03

Hoe verhoudt gPdf zich tot Puppeteer of headless Chrome?

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.

/04

Wat zijn de gPdf API-endpoints?

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.

/05

Moet ik fonts op mijn server installeren voor Chinees, Japans of Koreaans?

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.

/06

Welke barcodes kan ik renderen?

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.

/07

Produceert gPdf PDF/A- of e-factuur-conforme output?

Ja. PDF/A-1b, 2b, 3b en 4 zijn per request selecteerbaar. Factur-X- en ZUGFeRD-bijlagestreams worden ondersteund voor e-factuurscenario's.

/08

Kan gPdf Factur-X-, ZUGFeRD- of EN 16931-e-facturen produceren?

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.

/09

Waar draait gPdf eigenlijk?

Binnen Cloudflare Workers V8-isolates. Geen Chromium-container, geen Lambda-warming, en geen documentpersistentie na het verzoek.

/10

Slaat gPdf mijn PDF's of invoerdata op?

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.

/11

Is er een gratis tier?

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.

/12

Hoe begin ik met gPdf?

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.

Uit de blog

Engineering-essays, vers.

Alle berichten bekijken
  1. Een PDF API kiezen in 2026: 8 vragen

    Een vendor-neutraal kader om een PDF-generatie-API te kiezen. Acht vragen die voorspellen of je over 12 maanden nog tevreden bent.

  2. gPdf vs DocRaptor: waarom edge-rendering HTML-naar-PDF verslaat

    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.

  3. PDF/A en Factur-X / Peppol uitgelegd voor engineers (zonder juridisch jargon)

    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.

Vertrouwen

Compliance en gegevensresidentie

Auditable engineering plus papierwerk — beide registers, beide verifieerbaar.

SOC2

SOC 2 Type II

Audit gepland Q3 2026 · bewijs op verzoek.

GDPR

AVG + DPA

Standaardcontractbepalingen op verzoek beschikbaar.

REGION

Gegevensresidentie

Residentie-opties voor EU, US, APAC en SA. Regio-eisen worden contractueel afgestemd.

STATELESS

Stateless standaard

Geen documentpersistentie. Er is geen cachelaag of documentopslag in het product.

BENCHED

Publieke benchmarks

Genoemde concurrenten, volledige methodologie, sampledatum. Elke benchmark op deze pagina is reproduceerbaar — voer opnieuw uit op je eigen workload voor je beslist.

DETERMINISTIC

Deterministisch

Zelfde input → byte-identieke PDF. Diff-baar. Testbaar in CI zonder snapshot-drift.