29 Ekim 2026
weather
11°
Son Dakika Sivas Haberleri
ANASAYFA Teknoloji PDF üretimi tarayıcıya taşındı: fatura ve rapor sunucudan çıkıyor

PDF üretimi tarayıcıya taşındı: fatura ve rapor sunucudan çıkıyor

Türkiye'de geliştirilen açık kaynak htpo, HTML'i PDF'e çevirme işini sunucudan ziyaretçinin tarayıcısına taşıyor. Sürüm 0.1.0 ve deneysel; Türkçe karakter desteği gömülü fontla geliyor.

4 Dakika
OKUNMA SÜRESİ
Haberleri
PDF üretimi tarayıcıya taşındı: fatura ve rapor sunucudan çıkıyor

Sivas'ta bir işletmenin faturası, bir kurumun raporu ya da bir kooperatifin üye listesi PDF'e çevrilecekse bugüne kadar bu iş çoğunlukla sunucuda yapılıyordu. Sayfa sunucuya gönderiliyor, sunucu HTML'i işleyip PDF üretiyor ve dosya kullanıcıya indiriliyordu. Sunucunun işlemci gücü bu işe ayrıldığı için, ay sonu gibi yoğun günlerde istekler sıraya giriyordu.

Türkiye'de geliştirilen açık kaynak bir JavaScript kütüphanesi olan htpo, bu işi sunucudan alıp ziyaretçinin kendi tarayıcısına taşıyor. Proje 0.1.0 sürümüyle yayımlandı ve geliştirici tarafından açıkça deneysel olarak işaretlendi. Yani henüz üretim ortamında sınanmış bir araç değil.

Sayfa sunucuya gitmiyor, PDF tarayıcıda üretiliyor

Kütüphanenin çalışma biçimi kısa: sayfa tarayıcıda hazırlanıyor, PDF motoru da aynı tarayıcı içinde çalışıyor. htpo'nun paket sayfasındaki bilgilere göre çalışma zamanında hiçbir bağımlılığı yok; PDF motoru ve varsayılan fontlar aynı tek dosyanın içine gömülü. Kurulum da bu yüzden tek satır:

npm install @8bit.tr/htpo

Alternatif olarak tek bir script dosyası doğrudan sayfaya eklenebiliyor. Kullanım da birkaç satırdan oluşuyor:

const pdf = await Htpo.toPdf(html, {
  format: 'a4', mode: 'vector'
});
pdf.save('rapor.pdf');

mode: vector seçildiğinde çıktıda metin seçilebiliyor, fontlar gömülü geliyor ve HTTP, mailto, tel bağlantıları korunuyor. mode: raster ise her sayfayı görüntü olarak saklıyor; bu durumda metin seçilemiyor ve bağlantılar kayboluyor. Fatura ya da tutanak gibi sonradan aranması, kopyalanması gereken belgelerde vektör modu öne çıkıyor.

Türkçe karakterler için gömülü font

Sivas'taki kurumlar için pratik önemi olan ayrıntı Türkçe karakterler. Projenin README dosyasında gömülü DejaVu Sans fontlarının Türkçe karakterleri desteklediği özellikle belirtiliyor; testlerde Türkçe ve Unicode metnin korunması, font alt kümeleme ve metinden geri çıkarma doğrulanmış. Fatura ve resmî yazışmalarda ş, ğ, ı, İ gibi harflerin bozuk çıkması sık karşılaşılan bir sorun olduğu için bu, yerel kullanım açısından kayda değer.

Bunun karşılığında bazı sınırlar da var ve bunlar projenin kendi belgesinde yazıyor: PDF/A arşiv standardı, etiketli (erişilebilir) PDF, form alanları, şifreleme ve dijital imza desteklenmiyor. WOFF ve WOFF2 fontlar, değişken fontlar ve karmaşık yazı sistemleri de kapsam dışı; bu durumlarda raster mod öneriliyor. Resmî belgelerde dijital imza ya da arşiv standardı şart koşuluyorsa htpo tek başına yetmez.

Eski araçlarla karşılaştırma: ölçüm değil, yaklaşım farkı

htpo'nun belgesinde qt-webkit adlı bir uyumluluk modu bulunuyor. Bu mod, eski Qt WebKit düzenini taklit ediyor; satır yüksekliklerini tam piksele yuvarlıyor, görsellere belirli bir yerleştirme kuralı uyguluyor. Belgede bu modun, sunucuda HTML'i PDF'e çeviren eski araçların motoruna yaklaşmak için konduğu belirtiliyor. Yani mevcut şablonlarını bırakmak istemeyen bir ekip, çıktıyı kabaca koruyarak işi tarayıcıya taşıyabilir.

Burada bir sınırı baştan söylemek gerekiyor: htpo ile eski araçlar arasında yapılmış bir hız ya da maliyet ölçümü yok. "Şu kadar hızlı", "sunucu maliyeti şu kadar düşer" gibi bir sayı hiçbir kaynakta yer almıyor; bu haber de böyle bir sayı vermiyor. Anlatılan fark mimari: işlem yükü sunucudan çıkıp kullanıcının makinesine geçiyor. Bu, sunucudaki kuyruğu azaltabilecek bir yaklaşım, ama gerçekten ne kadar kazanç sağladığı ancak kendi sisteminizde ölçülerek anlaşılır.

KonuSunucuda üretimTarayıcıda üretim (htpo)
İşlem neredeSunucuZiyaretçinin tarayıcısı
Yoğunluktaİstekler kuyruğa girerYük kullanıcıya dağılır
BağımlılıkSunucuda kurulu araçlarTek script, çalışma zamanında bağımlılık yok
OlgunlukYıllardır kullanılan araçlar0.1.0, deneysel

Kimin işine yarar, kimin beklemesi gerekir

Sivas'ta e-fatura, e-arşiv ya da üyelik belgesi üreten küçük ve orta ölçekli işletmeler için cazip tarafı şu: ayrı bir sunucu kurmadan, tarayıcıda çalışan tek bir dosyayla PDF üretilebiliyor. Aynı mantık, belediye ve kamu kurumlarında form doldurup belge indirme akışlarında da kullanılabilir.

Beklemesi gerekenler de var. Projenin GitHub deposu yeni: tek bir commit, tek bir yıldız ve tek bir etiketle açılmış durumda. Bu, "yaygın kullanılan bir araç" demek değil. Kütüphane deneysel sürümde olduğu için üretim sistemine alınmadan önce kendi belgelerinizle test edilmesi, çıktıların arşiv ve imza gereksinimlerinize uyup uymadığının kontrol edilmesi gerekir. Sınırlarını bilerek kullanıldığında işe yarar bir araç; körü körüne bağlanılacak bir çözüm değil.

Projenin kendi sayfası htpo.8bit.tr adresinde, tarayıcıda deneme alanıyla birlikte; kaynak kodu github.com/crypto-su/htpo adresinde, npm paketi ise @8bit.tr/htpo adıyla yayında.

PDF üretiminin sunucuda ve tarayıcıda nasıl işlediğini karşılaştıran şema

Teknoloji alanındaki diğer haberlerimize teknoloji sayfamızdan ulaşabilirsiniz. Sivas Cumhuriyet Üniversitesi'nin Millî Teknoloji Atölyesi'ni bu haberde, Avrupa Birliği'nin USB-C standardını ise bu haberde anlatmıştık.

Görsel: gazetesivas.com tasarım

Yorumlar
* Bu içerik ile ilgili yorum yok, ilk yorumu siz yazın, tartışalım *
Sivas'ta rekor sıcaklık farkı 74,7 derece

Sivas'ta rekor sıcaklık farkı 74,7 derece