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