Özellikler

Temel ama kritik ayrıntılar, doğru yapılmış.

Bir PDF wrapper'ında tarayıcı ekran görüntüleri değil, gerçek belge semantiği.

Browse use cases
/01

Piksel düzeyinde kontrol

x/y milimetre cinsinden, sağ kenar hizalama için x_anchor, etiketlerde sub-milimetre yerleşim. Koordinatlar, yaklaşıklıklar değil.

// inside elements[i]
"x_anchor": {
  "reference": "content_right",
  "offset": 6
}
/02

Vektör barkodlar

GS1-128, QR, PDF417, DataMatrix dahil 30+ semboloji. Hepsi vektör. Toplam uzunluk 0,1 mm'ye doğru.

// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001"
Why vector beats raster
/03

Yazı tipi yedek zinciri

font_mode: strict (bildirilen aile tüm glifleri kapsamalı), prefer (gömülü ailelere geri düş), auto (motor seçer). auto/prefer tükenirse API-504 döner — sessiz değil, açık başarısızlık.

// inside style{}
"font_family": "NotoSans-Regular",
"font_mode": "prefer"
/04

Uyumluluk modları

settings.profile = "pdfa-3b" hem PDF/A-3b uyumluluğunu hem de Factur-X / ZUGFeRD'nin gerektirdiği gömülü XML ek akışını tetikler. Tek alan, tek uyumlu belge.

// top-level on DocumentRequest
"settings": {
  "profile": "pdfa-3b"
}
PDF/A and Factur-X, explained
/05

Değişkenler + sayfalama

{page} / {total_pages} layout sonrası çözülür. keep_together, widow/orphan, page_break blokları.

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

Sayfalanan tablolar

Sayfalar arası row_span, tekrarlanan başlıklar, alternate_fill, kompozit çift kenarlıklar. Her zaman bozulan %1.

// inside table element
"pagination": {
  "keep_spans_together": true
}
/07

Tek JSON, iki yüzey

Aynı DocumentRequest JSON'u hem POST /api/v1/pdf/render'i hem de editor.gpdf.com'daki görsel editörü çalıştırır. Görsel düzenle, API ile gönder veya elle yaz — üç yol da aynı dosyada round-trip yapar.

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

Faturalar için inşa edildi

Sayfa başına $0,00005, p50 3 ms, gömülü CJK, PDF/A-3 ek akışı. Fintech, ERP ve vergi uyumluluk ekiplerinin önce kontrol ettiği dört sayı.

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

Kargo etiketleri için inşa edildi

label_100_150 ve label_4_6_in boyut presetleri. 0,1 mm hassasiyetinde vektör GS1-128, ITF-14, SSCC — taşıyıcılar ve 3PL'ler yoğun dönemde raster barkod olmadan yazdırır.

// 4×6 thermal shipping label
{ "size": "label_4_6_in",
  "elements": [{
    "type": "barcode",
    "format": "code128",
    "content": "1Z999AA10123456784" }]}
Shipping-label use case