İzmir'de yazılım geliştiren ekiplerin ve dijital ajansların ortak bir rutini var: fatura, rapor, bilet ya da sözleşme HTML şablonu olarak hazırlanır, PDF'e çevrilmek üzere sunucuya gönderilir. Yoğun saatlerde bu dönüşüm web sunucusunun işlemci gücünü yer, kuyruk oluşur. 8bit.tr adına yayımlanan açık kaynak htpo kütüphanesi aynı işi sunucudan alıp ziyaretçinin tarayıcısına taşıyor. Teknoloji bölümümüzde yazılım tarafındaki yenilikleri izliyoruz; htpo'nun 0.1.0 sürümü deneysel etiketiyle npm'de duruyor.
Kütüphanenin adı "HTML to PDF Offline"ın kısaltması. Çalışma biçimi tek bir çağrıya dayanıyor: Htpo.toPdf(html, options). Dönüşüm tarayıcının kendi DOM'u ve canvas yetenekleriyle yapılıyor; bu yüzden SDK Node.js tarafında PDF üretici olarak çalışmıyor, sayfanın içinde çalışması gerekiyor. Varsayılan çıktı vektör modu: yazılar seçilebilir halde kalıyor, fontlar belgeye gömülüyor ve web, e-posta ile telefon bağlantıları tıklanabilir oluyor. Raster modu ise her sayfayı görüntü olarak saklıyor; metin seçilemiyor, bağlantı çalışmıyor.
Kurulum npm üzerinden tek paket:
npm install @8bit.tr/htpoTek dosya olarak da kullanılabiliyor: dist/htpo.min.js jsDelivr, unpkg ya da yerel kopyadan sayfaya eklenebiliyor. Çalışma zamanı bağımlılığı sıfır; PDF motoru ve varsayılan fontlar aynı dosyanın içinde geliyor.

Sayfa düzeni tarafında format (A4, A3, letter ya da milimetre cinsinden genişlik ve yükseklik), orientation, margin, pageSelector ve pagination seçenekleri var. Üst sınırlar da tanımlı: varsayılan 30 saniye zaman aşımı, 500 sayfa sınırı, 32 milyon piksel canvas tavanı ve signal ile iptal. İlerleme onProgress ile loading, layout, rendering ve complete aşamalarında bildiriliyor. Türkçe karakterler için gömülü DejaVu Sans regular ve bold fontları kullanılıyor; projenin testlerinde Türkçe ve Unicode metnin korunduğu belirtiliyor.
Eski araçlardan geçiş düşünenler için ayrı bir compatibility seçeneği var: qt-webkit modu Qt WebKit düzenini taklit ederek satır yüksekliklerini tam piksele yuvarlıyor, görsellere object-fit: fill uyguluyor. Bu mod, sunucuda çalışan wkhtmltopdf'un motoruna yaklaşmak için konmuş. Ancak karşılaştırma mimari düzeyde kalıyor: iki araç arasında hız ya da maliyet ölçümü yapılmadı, bu yüzden burada bir oran vermiyoruz.
Sınırlar da açıkça yazılmış. PDF/A arşiv standardı, etiketli PDF, form alanları, şifreleme ve dijital imza desteklenmiyor. Tam CSS sayfalama davranışı yok; WOFF ve WOFF2 fontlar, değişken fontlar ve GSUB/GPOS şekillendirme desteklenmiyor, karmaşık yazı sistemleri için raster mod öneriliyor. Kaynak yükleme tarayıcının CORS kurallarına tabi; eksik görsel resourcePolicy ayarına göre üretimi durduruyor ya da tanılama listesine düşüyor.
Ege'de e-ticaret, turizm rezervasyonu ve muhasebe yazılımı geliştiren ekipler için bu mimarinin anlamı şu: PDF üretimi kullanıcının cihazına taşındığında sunucudaki işlemci yükü paylaşılmış oluyor, karşılığında dönüşüm süresi ziyaretçinin cihaz gücüne ve tarayıcısına bağlanıyor. Bu cihazda hızlı biten bir belge eski bir telefonda uzayabilir; zaman aşımı, sayfa sayısı ve canvas pikseli sınırlarının README'de bu yüzden yer aldığını düşünüyoruz. Bir başka pratik nokta: dönüşüm tarayıcı gerektirdiği için sunucu tarafındaki toplu üretim akışına doğrudan girmiyor, kullanıcı başına belge üreten ekranlarda anlamlı. İzmir'de esnaf temelli e-ticaret platformu ve İzmir Büyükşehir Belediyesi'nin fuardaki teknoloji hizmetleri haberlerimizde kentteki dijital dönüşümün başka başlıklarına bakabilirsiniz.
Proje yeni. GitHub deposunda tek commit ("Initial public release", 3 Ekim 2026), bir yıldız ve bir etiket görünüyor; npm'de iki sürüm var: 0.0.0-stage ve 0.1.0. Lisans MIT, geliştirici Uğur Yıldırım. Yani ortada olgun bir üretim aracı değil, deneysel bir 0.1.0 var; kendi rapor akışınıza almadan önce şablonlarınızı test etmeniz gerekiyor. Tarayıcıda deneme alanı htpo.8bit.tr adresinde, kaynak kod github.com/crypto-su/htpo deposunda.
