v2026.05 · API per generare PDF da JSON

L'API più veloce al mondo per fatture ed etichette ad alto volume

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

Prova l'API live Vedi riferimento API senza carta di credito · senza installazione · compatibile con curl
CPU / render (p50)
4.98ms · 24h
Richieste servite
299/ 24h
Costo
$5 / 100K
Regioni
300+ pops
30+ formati di codici a barre 4 profili PDF/A 100K pagine da $5/mese
Playground

Invia JSON. Genera un PDF.
Capacità principali, tutte in una pagina.

Modifica il DocumentRequest a sinistra. Chiama il worker edge live
schema reale, PDF reale, in genere <5 ms.

Perché gPdf

gPdf poggia su quattro pilastri.

01 / 04
$5
per 100K pages

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.

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

Conformità

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.

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

JSON-nativo

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.

04 / 04
3000+
color emoji, embedded

Tipografia

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.

Funzionalità

I dettagli essenziali, fatti bene.

Vera semantica di documento, non screenshot del browser in un wrapper PDF.

Browse use cases
/01

Controllo al pixel

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

Codici a barre vettoriali

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

Catena di fallback dei font

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

Modalità di conformità

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

Variabili + paginazione

{page} / {total_pages} risolti post-layout. keep_together, widow/orphan, blocchi page_break.

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

Tabelle che paginano

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

Un JSON, due interfacce

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

Costruito per fatture

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

Costruito per etichette di spedizione

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

Misurato, non promosso.

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 →

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
Prezzi

Paga per le pagine. Niente altro.

Niente per-seat. Niente per-environment. Niente gatekeeping per livello di supporto.

Tutti i piani a pagamento includono le stesse 100.000 pagine e gli stessi limiti di rendering. Differiscono solo per personalizzazione metadati, disponibilità profili PDF/A e tariffa di eccedenza.

Free Trial

/free
$0 per sempre

100 pagine / giorno · si ferma alla quota.

  • +100 pagine / giorno · auto-reset
  • +Playground + valutazione API
  • +Nessuna carta richiesta
  • +Supporto email · SLA 1 giorno lavorativo
Prova Playground

Basic

/basic
$5 / mese

100.000 pagine / mese incluse.

  • +100.000 pagine / mese incluse
  • +Eccedenza $0.00005 per pagina
  • +Metadati PDF standard · non personalizzabili
  • +Solo PDF standard · nessun profilo PDF/A
  • +Supporto email · SLA 1 giorno lavorativo
Abbonati

Pro

/pro
$8 / mese

100.000 pagine / mese incluse. Metadati personalizzabili.

  • +100.000 pagine / mese incluse
  • +Eccedenza $0.00008 per pagina
  • +Titolo · oggetto · creatore personalizzabili
  • +Solo PDF standard · nessun profilo PDF/A
  • +Supporto email · SLA 1 giorno lavorativo
Abbonati

Enterprise

/ent
$12 / mese

100.000 pagine / mese incluse. PDF/A + metadati completi.

  • +100.000 pagine / mese incluse
  • +Eccedenza $0.00012 per pagina
  • +Tutti i 6 campi metadati completamente personalizzabili
  • +PDF/A-1b · 2b · 3b · 4 abilitati
  • +Supporto email · SLA 1 giorno lavorativo
Abbonati
Deploy privato

Hai bisogno di gPdf dentro il tuo perimetro?

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.

  • +Cloud privato, VPC o rete isolata
  • +Deployment dedicato Worker/server
  • +Termini DPA e controlli di residenza
  • +Modello di supporto definito in anticipo
Contatto per deploy privato · soon
FAQ

Domande che gli sviluppatori fanno davvero.

Dodici risposte — citate testualmente dal JSON-LD FAQPage che i Google rich results consumano.

/01

Quanto velocemente gPdf renderizza un PDF?

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.

/02

Quale formato di input accetta l'API?

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.

/03

Come si confronta gPdf con Puppeteer o Chrome headless?

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.

/04

Quali sono gli endpoint dell'API gPdf?

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.

/05

Devo installare font sul mio server per cinese, giapponese o coreano?

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.

/06

Quali codici a barre posso renderizzare?

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.

/07

gPdf produce output conformi a PDF/A o fattura elettronica?

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.

/08

gPdf può produrre fatture Factur-X, ZUGFeRD o EN 16931?

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.

/09

Dove gira effettivamente gPdf?

Dentro isolates V8 di Cloudflare Workers. Niente container Chromium, niente warming Lambda, e niente persistenza di documento dopo la richiesta.

/10

gPdf memorizza i miei PDF o dati di input?

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.

/11

C'è un piano gratuito?

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.

/12

Come inizio a usare gPdf?

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.

Dal blog

Saggi di ingegneria, freschi.

Vedi tutti gli articoli
  1. Scegliere una API PDF nel 2026: 8 domande da fare

    Un framework neutrale per scegliere una API di generazione PDF. Otto domande che indicano se sarai ancora soddisfatto tra 12 mesi.

  2. gPdf vs DocRaptor: perché il rendering al edge batte l'HTML-to-PDF

    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.

  3. PDF/A e Factur-X spiegati agli ingegneri (senza il gergo legale)

    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.

Fiducia

Compliance e residenza dati

Ingegneria auditabile più la documentazione — entrambi i registri, entrambi verificabili.

SOC2

SOC 2 Type II

Audit programmato Q3 2026 · evidenza su richiesta.

GDPR

GDPR + DPA

Clausole contrattuali standard disponibili su richiesta.

REGION

Residenza dati

Opzioni di residenza per UE, US, APAC e SA. I requisiti di regione sono definiti da contratto.

STATELESS

Stateless di default

Nessuna persistenza di documenti. Non c'è layer di cache né storage di documenti nel prodotto.

BENCHED

Benchmark pubblici

Concorrenti nominati, metodologia completa, data di campionamento. Ogni benchmark in questa pagina è riproducibile — rieseguilo sul tuo carico prima di decidere.

DETERMINISTIC

Deterministico

Stesso input → PDF byte-identico. Diffabile. Testabile in CI senza deriva di snapshot.