Costo
Gira su Cloudflare Workers — non un container Chromium da 800 MB fatturato $0,40/ora a non fare nulla. $0,00005 per pagina. Nessun minimo, nessun costo per posto, nessun supplemento per ambiente.
100.000 pagine per 5 $. PDF generati all’edge in pochi millisecondi
Progettata per scalare a livello globale Pienamente conforme ai mandati PDF/A, Factur-X e ZUGFeRD
Modifica il DocumentRequest a sinistra. Chiama il worker edge live
schema reale, PDF reale, in genere <5 ms.
Gira su Cloudflare Workers — non un container Chromium da 800 MB fatturato $0,40/ora a non fare nulla. $0,00005 per pagina. Nessun minimo, nessun costo per posto, nessun supplemento per ambiente.
Profili di archiviazione PDF/A (1b, 2b, 3b, 4) su richiesta. Factur-X, ZUGFeRD ed EN 16931 supportati nativamente — Sezione 5 del riferimento API, non un link sulla roadmap.
pages[], elements[], x/y in millimetri. Niente HTML→PDF, niente Chrome headless, nessuna DSL di template da imparare. Lo stesso JSON alimenta l'API e l'editor visuale — designer e sviluppatori modificano lo stesso file.
Latino, CJK, arabo (RTL + shaping complesso), devanagari, cirillico, bengali e thai integrati nel motore — più 3000+ emoji a colori. Niente `apt install fonts-noto-cjk`. Mai un glifo mancante.
Vera semantica di documento, non screenshot del browser in un wrapper PDF.
x/y in millimetri, x_anchor per l'allineamento al bordo destro, posizionamento sub-millimetrico sulle etichette. Coordinate, non approssimazioni.
// inside elements[i]
"x_anchor": {
"reference": "content_right",
"offset": 6
} 30+ simbologie incl. GS1-128, QR, PDF417, DataMatrix. Tutti vettoriali. Lunghezza totale precisa a 0,1 mm.
// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001" Why vector beats raster font_mode: strict (la famiglia dichiarata deve coprire tutti i glifi), prefer (fallback attraverso le famiglie integrate), auto (sceglie il motore). Esaurimento di auto/prefer restituisce API-504 — fallimento esplicito, non silenzioso.
// inside style{}
"font_family": "NotoSans-Regular",
"font_mode": "prefer" settings.profile = "pdfa-3b" attiva la conformità PDF/A-3b e il flusso di allegati XML incorporato richiesto da Factur-X / ZUGFeRD. Un campo, un documento conforme.
// top-level on DocumentRequest
"settings": {
"profile": "pdfa-3b"
} PDF/A and Factur-X, explained {page} / {total_pages} risolti post-layout. keep_together, widow/orphan, blocchi page_break.
// element of type "variable"
{ "type": "variable",
"name": "page",
"scope": "system" } row_span tra pagine, header ripetuti, alternate_fill, bordi doppi composti. L'1 % che si rompe sempre.
// inside table element
"pagination": {
"keep_spans_together": true
} Lo stesso JSON DocumentRequest guida POST /api/v1/pdf/render e l'editor visuale su editor.gpdf.com. Modifica visivamente, consegna via API o scrivi a mano — tutti e tre i flussi round-trippano lo stesso file.
// 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, CJK incorporato, stream di allegato PDF/A-3. I quattro numeri che i team fintech, ERP e compliance fiscale verificano per primi.
// invoice — header + table pattern
{ "size": "a4",
"elements": [
{ "type": "text", "x": 18, "y": 22, ... },
{ "type": "table", "x": 18, "y": 60, ... }
]} Why JSON beats HTML→PDF Preset di dimensione label_100_150 e label_4_6_in. GS1-128, ITF-14, SSCC vettoriali con precisione di 0,1 mm — vettori e 3PL stampano nei picchi senza codici a barre rasterizzati.
// 4×6 thermal shipping label
{ "size": "label_4_6_in",
"elements": [{
"type": "barcode",
"format": "code128",
"content": "1Z999AA10123456784" }]} Shipping-label use case Fattura A4 di una pagina, 12 righe, QR + logo. Mediana di 1000 generazioni PDF. Più basso è meglio.
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 →
Niente per-seat. Niente per-environment. Niente gatekeeping per livello di supporto.
Tutti i piani a pagamento includono le stesse
Per team regolamentati, deployment in cloud privato/VPC e ambienti intranet isolati. Esegui gPdf come deployment dedicato su Worker, server o dietro gateway; controlli di rete, requisiti di regione, termini DPA ed escalation del supporto sono definiti per progetto.
Dodici risposte — citate testualmente dal JSON-LD FAQPage che i Google rich results consumano.
Il p50 è 3 ms e il p99 è 8 ms su una singola pagina A4 misurato su 1000 invocazioni. Il tempo totale al edge, inclusa la rete, è tipicamente 8-15 ms.
Un body DocumentRequest in JSON. Pagine, elementi, livelli, filigrane, intestazioni, piè di pagina e tabelle sono tutti espressi strutturalmente — niente HTML, niente Markdown, niente passaggio di layout del browser.
Chromium headless va a 200-800 ms per render e necessita di un container da 800 MB. gPdf renderizza la stessa pagina A4 in 3 ms dentro un isolate V8 da 1 MB, senza cold start. Il trade-off è il formato di input: gPdf accetta un DocumentRequest JSON, non HTML grezzo.
Tre: /api/v1/pdf/render accetta un DocumentRequest completo per controllo a livello di pixel. /api/v1/template-render accetta template_id più un array di dati per sistemi con template pubblicato. /api/v1/e-invoice/render produce fatture ibride Factur-X / ZUGFeRD (PDF/A-3 + XML incorporato). Tutti e tre condividono lo stesso engine, gli stessi rate limit e la stessa superficie di codici di errore.
No. NotoSans CJK è incorporato e una catena di fallback automatico gestisce i glifi mancanti. Non vedrai mai box tofu e non hai bisogno di apt install fonts-noto-cjk sul tuo runtime.
Oltre 30 simbologie tra cui QR, GS1-128, PDF417, DataMatrix, Aztec, MaxiCode e Code 128. Tutti vettoriali. La lunghezza totale del codice a barre è entro 0,1 mm dalla dimensione richiesta — abbastanza precisa per le larghezze di etichetta specificate da GS1 e ITF-14.
Sì. PDF/A-1b, 2b, 3b e 4 sono selezionabili per richiesta. I flussi di allegato Factur-X e ZUGFeRD sono supportati per scenari di fattura elettronica.
Sì. Imposta settings.profile su pdfa-3b e allega il payload XML strutturato come stream di file. Factur-X e ZUGFeRD si basano su PDF/A-3 — richiesto per il mandato tedesco di e-fattura già in vigore e per il mandato francese B2B da settembre 2026.
Dentro isolates V8 di Cloudflare Workers. Niente container Chromium, niente warming Lambda, e niente persistenza di documento dopo la richiesta.
No. Il renderer è stateless. Il tuo DocumentRequest vive in un isolate V8 per i pochi millisecondi del rendering, poi scompare. gPdf non ha layer di cache né storage di documenti — l'assenza di stato è il contratto, non un opt-in.
Sì. La Free Trial dà 100 pagine al giorno, senza carta di credito. Si resetta giornalmente e si ferma alla quota — niente fatture sorpresa. I piani a pagamento partono da $5 al mese per 100.000 pagine.
Apri il playground sopra, modifica il DocumentRequest e premi Genera PDF — il worker live all’edge restituisce un PDF reale. Copia lo snippet curl nel tuo terminale per chiamarlo da qualsiasi posto. Il playground non richiede installazione né carta di credito; un account è necessario solo per emettere la tua API key.
Un framework neutrale per scegliere una API di generazione PDF. Otto domande che indicano se sarai ancora soddisfatto tra 12 mesi.
DocRaptor usa Prince per convertire HTML in PDF su backend hosted. gPdf renderizza JSON strutturato direttamente al edge Cloudflare. Il gap di prezzo è 18×. Ecco perché non è un'esca.
Cosa vincolano realmente i profili PDF/A, perché FatturaPA è obbligatorio in Italia dal 2019, e la pipeline pratica più piccola per emettere conformi da un renderer JSON.
Ingegneria auditabile più la documentazione — entrambi i registri, entrambi verificabili.
Opzioni di residenza per UE, US, APAC e SA. I requisiti di regione sono definiti da contratto.
Nessuna persistenza di documenti. Non c'è layer di cache né storage di documenti nel prodotto.
Concorrenti nominati, metodologia completa, data di campionamento. Ogni benchmark in questa pagina è riproducibile — rieseguilo sul tuo carico prima di decidere.
Stesso input → PDF byte-identico. Diffabile. Testabile in CI senza deriva di snapshot.