Karşılaştırmalar

gPdf vs Puppeteer: edge JSON-to-PDF API ile headless Chromium

gPdf'in edge'de render edilen JSON-to-PDF API'sini Puppeteer'ın sunucuda çalışan headless Chromium modeliyle karşılaştırın: gecikme, maliyet, runtime ve hangi iş yükünde hangisi kazanır.

Özet

Puppeteer, PDF de üretebilen genel amaçlı bir tarayıcı otomasyon aracıdır. gPdf ise edge'de tek haneli milisaniyelerde çalışan bir PDF rendering engine'dir. Yapılandırılmış production belgelerinde (fatura, etiket, ekstre) gPdf 50-100 kat daha düşük gecikme ve 10-20 kat daha düşük operasyonel maliyet sağlayabilir. Var olan canlı web sayfalarını veya ekran görüntüsü mantığındaki HTML çıktıları PDF'e çevirmek gerekiyorsa Puppeteer hâlâ doğru araçtır.

Yan yana

Kriter gPdf Puppeteer Üstünlük
Render p50 (tek sayfalık A4 fatura)
İkisi de aynı input üzerinde 1.000 çağrı ile ölçüldü.
3 ms 312 ms gPdf
Soğuk başlangıç ~12 ms (yeni isolate'a gelen ilk istek) 1,5-2,5 sn (Chromium açılışı) gPdf
Runtime
Puppeteer 200-800 MB tarayıcı binary'si ister; gPdf yaklaşık 2 MB'lık WASM module olarak gelir.
Cloudflare Workers V8 isolate'ları Uzun ömürlü Node.js + Chromium container gPdf
Edge bölgeleri 300+ Cloudflare PoP Container'ı nereye deploy ederseniz orası; genelde 3-6 bölge gPdf
PDF/A uyumluluğu PDF/A-1b · 2b · 3b · 4 her istek için seçilebilir Yerleşik destek yok; Ghostscript veya veraPDF ile post-processing gerekir gPdf
E-fatura (Factur-X / ZUGFeRD) Native endpoint; CII XML'i PDF/A-3b içine gömer Desteklemez; ayrı bir pipeline adımı gerekir gPdf
Vektör barkodlar
Puppeteer sayfanın render ettiği şeyi basabilir; ama barkod geometrisi, quiet zone'lar ve termal yazıcı ölçüleri uygulamanın sorumluluğunda kalır.
30+ symbology yerleşik (QR, GS1-128, PDF417, DataMatrix, ...) Sayfa içi barkod kütüphanesine, SVG/canvas seçimine ve baskı ölçülendirmesine bağlıdır gPdf
CJK font yönetimi NotoSans CJK gömülü; otomatik glyph fallback Container'da hangi fontlar kuruluysa onlara bağlıdır; işletim sistemi düzeyinde kurulum gerekir gPdf
HTML/CSS layout sadakati Geçerli değil — gPdf HTML değil JSON alır Sınıfının en iyisi. Her web sayfasını render eder. Puppeteer
Ekran görüntüsü tarzı web→PDF için en iyi seçenek Hayır Evet Puppeteer
100.000 tek sayfalık belge için liste fiyatı
Puppeteer'ın kendisi ücretsizdir. Ücretli yüzey, etrafına kurduğunuz Chromium servisidir.
Basic plan ayda 5 ABD dolarıdır ve 100.000 sayfa içerir Lisans ücreti yoktur; hosting, depolama, izleme ve mühendislik zamanını siz ödersiniz gPdf
Production sahiplik maliyeti Hosted edge API, görsel Studio akışı, şablonlar, fontlar, barkod primitive'leri, PDF/A ve e-fatura yolları Chromium container'ları, warm pool'lar, bölgesel kapasite, sayfa şablonları, fontlar, retry'lar ve observability gPdf
Determinism (aynı input → aynı byte'lar) Evet — isolate'lar arasında byte düzeyinde aynı çıktı Hayır — Chromium font hinting ve rasterization davranışı sürümler arasında kayabilir gPdf

Hangisini seçmeli

gPdf'yi tercih edin, eğer
  • Yapılandırılmış belgeler render ediyorsanız: faturalar, kargo etiketleri, ekstreler, bordrolar veya biletler.
  • Etkileşimli akışta tek haneli milisaniye render süresi gerekiyorsa, örneğin göndermeden önce önizleme.
  • PDF/A arşiv uyumluluğu veya AB Factur-X / ZUGFeRD e-fatura çıktısı gerekiyorsa.
  • Chromium bellek baskısından, container warm-pool maliyetinden veya cold-start timeout zincirlerinden yorulduysanız.
  • Test veya audit için byte düzeyinde aynı, deterministik PDF'ler istiyorsanız.
  • Edge'de render ediyor ve 3-6 değil 300+ bölgeye ihtiyaç duyuyorsanız.
Puppeteer'i tercih edin, eğer
  • Canlı web sayfalarını dönüştürüyorsanız: landing page'ler, haber sayfaları, pazarlama snapshot'ları.
  • Belgenin tek doğru kaynağı tarayıcıda zaten doğru render edilen HTML/CSS ise ve onu JSON olarak yeniden yazmak istemiyorsanız.
  • Gerçek tarayıcı gerektiren zengin client-side JavaScript görselleştirmeleri render ediyorsanız: grafikler, dashboard'lar.
  • Hacim küçükse (günde 1.000 render'dan az) ve render başına gecikme veya maliyet kritik değilse.
  • Hukuki veya adli nedenlerle ekrandaki DOM ile PDF'in piksel piksel eşleşmesi gerekiyorsa.
Yetenekler

gPdf, yüksek hacimli faturalar, belgeler, gönderi etiketleri, barkodlar, PDF/A ve e-fatura çıktısı için tasarlanmış Edge-native bir JSON'dan PDF'ye API'dir. Küresel Edge ölçeğinde milisaniye sınıfı PDF oluşturma — öngörülebilir, production seviyesinde belge üretimi için optimize edilmiştir. Kendi PDF altyapınızı kurup işletmenin yerini alacak kadar düşük, altyapı düzeyinde fiyatlandırma.

Yetenekler

Ürün bir web sayfasıysa Puppeteer mükemmeldir

Puppeteer gerçek bir Chromium tarayıcıyı yönetir. Gücü buradadır. Tek doğru kaynak mevcut bir HTML sayfası, JavaScript grafikler içeren bir dashboard, render edilmiş web uygulamasının hukuki snapshot’ı veya ekran görüntüsü tarzı export ise Puppeteer çoğu zaman doğru ürün seçimidir.

Ürün sorusu şudur: PDF’iniz gerçekten bir web sayfası mı, yoksa yapılandırılmış bir iş belgesi mi? Faturalar, etiketler, ekstreler, makbuzlar, biletler ve formlar genellikle canlı DOM’dan değil veriden gelir. Bu iş akışlarında bütün bir tarayıcı çalıştırmak, belgenin ihtiyaç duyduğundan daha ağır bir mimari olabilir.

Aynı çıktı, farklı ürün sınırı

Puppeteer HTML’i Chromium üzerinden basılı PDF’e çevirir. Uygulama HTML şablonlarını, print CSS kurallarını, font kurulumunu, tarayıcı runtime’ını, worker kapasitesini, retry’ları ve bölgesel deploy’u sahiplenir.

gPdf yapılandırılmış JSON’u doğrudan PDF’e çevirir. Uygulama DocumentRequest veya template_id + data gönderir; edge renderer layout execution, bundled fontlar, barkod primitive’leri, PDF/A profilleri ve e-fatura paketlemeyi sahiplenir. Tarayıcı process’i yoktur, CSS cascade yoktur, sıcak tutulacak Chromium container’ı yoktur.

Ürün uyumu: web capture mı, belge üretimi mi?

Belge var olan web sayfasıyla birebir görünmeli veya son görsel durumu client-side JavaScript üretiyorsa Puppeteer seçin. Web arşivleri, dinamik dashboard’lar, DOM-heavy raporlar ve layout’u JSON’a yeniden yazmanın riski azaltmak yerine artıracağı iş akışları buna dahildir.

Ürün belge üretimiyse gPdf seçin: etiket, fatura, bilet, ekstre, sertifika, makbuz veya uyumluluk paketi. Bu belgeler temiz veriden her seferinde aynı şekilde üretilmelidir.

Geliştirme süresi: HTML print debugging vs API şablonları

HTML zaten varsa Puppeteer hızlı başlar. Geliştirme maliyeti sonradan görünür: print CSS, page-break davranışı, container içinde font kurulumu, header/footer kenar durumları, barkod ölçülendirme ve tarayıcı sürüm kaymaları.

gPdf yapılandırılmış şablondan başlar. Ekipler JSON’u doğrudan yazabilir, AI ile schema-valid layout taslakları çıkarabilir veya gPdf Studio kullanarak metin, tablo, görsel, şekil, header, footer ve barkodları görsel olarak ekleyip sürükleyebilir. Şablon kaydedildikten sonra production çağrıları template_id + data olarak kalabilir.

Fiyat modeli: ücretsiz otomasyon kütüphanesi vs işletilen tarayıcı filosu

Puppeteer’ın lisans ücreti yoktur. Bu, production Puppeteer PDF servisinin ücretsiz olduğu anlamına gelmez.

Maliyet yüzeyi Chromium etrafındaki servistir:

  • Tarayıcı binary’si için container veya serverless runtime.
  • Cold start’ları absorbe etmek için warm pool veya queueing.
  • Sayfalar, fontlar, görseller ve PDF byte’ları için bellek payı.
  • Depolar veya müşteriler global ise bölgesel deploy.
  • İzleme, retry, tarayıcı upgrade’leri ve güvenlik yamaları.

gPdf PDF generation yüzeyini doğrudan fiyatlar. Basic plan 100.000 sayfa için 5 ABD doları/aydan başlar ve herkese açık sayfa başı hesap 0,00005 ABD doları/sayfadan başlar. Seat yoktur, ayrı test/prod ortam ücreti yoktur, işletilecek Chromium pool yoktur.

Edge generation gecikme ve maliyet şeklini değiştirir

Puppeteer ile tarayıcı genellikle onu host ettiğiniz bölgede yaşar. Depo, müşteri veya backend job o bölgeden uzaktaysa render yolu network gecikmesi artı tarayıcı işini içerir. Bölge eklemek tarayıcı servisini, deploy pipeline’ını, izlemeyi ve kapasite planını kopyalamak demektir.

gPdf Cloudflare Workers V8 isolate’ları üzerinde çalışır. Yapılandırılmış PDF’lerde renderer, her render’ı tek bir merkezde toplamak yerine caller’a yakın çalışacak kadar küçüktür. İş etkisi yalnızca daha hızlı p50 değildir; üründen bölgesel Chromium filosunu çıkarmaktır.

Karşılaştırmayı genellikle belirleyen ürün yetenekleri

Operasyonel belgelerde özellik listesi ham render süresi kadar önemlidir:

  • Etiketler, biletler ve depo belgeleri için native barkod elementleri.
  • Bundled CJK ve çok dilli font fallback.
  • Arşiv iş akışları için PDF/A çıktı profilleri.
  • Factur-X/ZUGFeRD e-fatura paketleme.
  • Üst planlarda parola korumalı PDF’ler ve metadata kontrolleri.
  • gPdf Studio ile görsel layout iterasyonu.

Puppeteer bunların çoğunu sayfa kodu, tarayıcı kurulumu veya post-processing ile destekleyebilir. Soru, ekibinizin bu stack’i sahiplenmek isteyip istemediğidir.

Puppeteer ne zaman hâlâ doğru cevaptır?

gPdf’in rekabet etmediği bir kategori vardır: arbitrary HTML-to-PDF conversion. Belge zaten render ediliyorsa, tasarımın tek doğru kaynağı HTML ise ve JavaScript çalıştırmak veya DOM’u birebir yakalamak için gerçek tarayıcı gerekiyorsa Puppeteer doğru araç olmaya devam eder.

İş yükü küçük ve gecikme önemli değilse operasyonel maliyet de kabul edilebilir. Günde birkaç internal export, stabil HTML’i JSON’a yeniden yazmayı haklı çıkarmaz.

Geçişin şekli

Bir fatura veya etiket iş yükünü Puppeteer’dan gPdf’ye taşıyan ekiplerde geçiş genellikle şöyle görünür:

- // Before: render an HTML template through Chromium
- const browser = await puppeteer.launch({ headless: 'new' });
- const page = await browser.newPage();
- await page.setContent(invoiceHtml);
- const pdf = await page.pdf({ format: 'A4' });
+ // After: POST the structured DocumentRequest
+ const res = await fetch('https://api.gpdf.com/api/v1/template-render', {
+   method: 'POST',
+   headers: { Authorization: `Bearer ${KEY}`, 'Content-Type': 'application/json' },
+   body: JSON.stringify({ template_id: 'invoice-v2', data }),
+ });
+ const pdf = Buffer.from(await res.arrayBuffer());

Asıl iş API çağrısı değildir; şablonu bir kez author etmektir. Ondan sonra her render çağrısı tek HTTPS POST’tur.

İlgili PDF generation senaryoları

Puppeteer ve gPdf karşılaştıran ekipler genellikle JSON to PDF API, fatura PDF API, kargo etiketi API, GS1 barkod API, PDF/A API ve Factur-X API gibi üretim senaryolarını da değerlendirir. HTML web sayfası ana kaynak olduğunda Puppeteer güçlü kalır; yapılandırılmış veriden ölçekli PDF üretimi gerektiğinde gPdf daha doğal sınırdır.

FAQ

Puppeteer ücretsiz mi?

Puppeteer kütüphane olarak ücretsizdir. Production’da maliyet tarayıcı servisidir: container’lar, bellek, cold start’lar, bölgesel kapasite, izleme, retry ve bakım.

gPdf arbitrary HTML sayfaları render edebilir mi?

Hayır. gPdf JSON-native’dir. Tek doğru kaynağınız arbitrary HTML veya canlı web sayfasıysa Puppeteer daha iyi uyumdur.

Studio neden Puppeteer ile karşılaştırılıyor?

Çünkü birçok ekip HTML’i kısmen tasarımcılar ve geliştiriciler sonucu görebildiği için kullanır. gPdf Studio, yapılandırılmış PDF şablonlarına runtime’ı tarayıcıya çevirmeden görsel düzenleme yüzeyi verir.

Ayrıca bakın