Yükleme yok, %100 yerel, hesap yok

HTML’den PDF’e

HTML yapıştırın, bir sayfa boyutu seçin ve bir PDF indirin, her şey tarayıcınızda işlenir.

HTML’den PDF’e nasıl çalışır

HTML'den PDF'e, düzenleyiciye yapıştırdığınız HTML işaretlemesini alır, betikler ve güvensiz nitelikleri kaldırmak için DOMPurify ile temizler, html2canvas kullanarak ekran dışı bir canvas üzerine oluşturur ve sonucu jsPDF ile PDF'e kodlar. Ardışık düzenin tamamı tarayıcı sekmesinin içinde çalışır; HTML kodu ya da oluşturulan çıktı hiçbir sunucuya iletilmez. Bu durum, çevrimiçi bir servise yapıştırmak istemeyeceğiniz kişisel veriler içeren HTML parçacıklarını dönüştürmek için uygundur.

Buna güvenmeden önce çıktı biçimini anlayın. PDF sayfaları vektör metin değil tarama görüntüleridir. Çıktıdaki metin seçilemez, aranabilir değil ve yeniden akış yapılamaz. URL'den başvurulan harici kaynaklar (görseller) tarayıcı CORS politikasıyla engellenir ve yüklenmez. Satır içi stiller ve gömülü CSS çalışır; ancak özel web fontları ya da gelişmiş CSS grid içeren karmaşık düzenler doğru biçimde oluşturulmayabilir. Tam web sayfalarının belgeye sadık dönüşümü için sunucu taraflı çalışan bir headless browser daha uygun araçtır.

HTML’den PDF’e nasıl kullanılır, adım adım

  1. HTML işaretlemenizi düzenleyici alanına yapıştırın.
  2. İsteğe bağlı olarak sayfa boyutunu (A4 veya Letter) ve yönünü ayarlayın.
  3. Dönüştür düğmesine tıklayın; DOMPurify HTML'yi temizler ve html2canvas oluşturur.
  4. jsPDF'nin canvas çıktısını PDF sayfaları olarak kodlamasını bekleyin.
  5. PDF'i indirin.

Yaygın kullanım örnekleri

  • Tarayıcıda yerel bir şablondan HTML fatura oluşturdunuz ve dönüştürme servisine e-posta atmadan PDF kopyası istiyorsunuz.
  • API verilerinden oluşturulan basit bir HTML raporu arşivlemek üzere PDF olarak kaydedilecek; HTML'yi yapıştırın ve yerel olarak dönüştürün.
  • Biçimlendirilmiş bir HTML e-posta şablonu yazdınız ve PDF olarak yazdırıldığında nasıl görüneceğini önizlemek istiyorsunuz.
  • Geliştirici, sunucu taraflı headless browser kurmadan test sırasında HTML parçacığından hızlı PDF almak istiyor.

Sık sorulan sorular

Çıktı PDF'deki metin neden seçilemiyor?

Dönüştürme ardışık düzeni, HTML'yi html2canvas kullanarak canvas bitmap'ine oluşturur, ardından jsPDF ile bu bitmap'i PDF sayfalarında görüntü verisi olarak kodlar. Çıktı taramalı görüntüdür, metin katmanı değil. Seçilebilir metinli PDF'e ihtiyaç duyarsanız Puppeteer gibi sunucu taraflı headless browser gereklidir; bu araç işlemi yerel tutmak amacıyla bu seçeneği kastî olarak kullanmaz.

HTML'imdeki görseller neden PDF'de görünmüyor?

Harici URL'lerden yüklenen görseller tarayıcı CORS politikasına tabidir. Görüntü sunucusu izin verici CORS başlıkları göndermezse html2canvas piksel verisini okuyamaz ve görüntü yuvası boş oluşturulur. HTML'ye doğrudan gömülü base64 kodlu satır içi görseller ya da aynı kaynaktan gelen görseller bu kısıtlamadan etkilenmez.

Yapıştırdığım HTML sunucuya gönderiliyor mu?

Hayır. HTML işlem boyunca tarayıcı belleğinde kalır. DOMPurify istemci tarafında temizler, html2canvas istemci tarafında oluşturur ve jsPDF PDF'i istemci tarafında kodlar. Tarayıcı sekmesinden hiçbir şey ayrılmaz.

DOMPurify temizleme neleri kaldırır?

DOMPurify; betik etiketlerini, onclick ve onload gibi olay işleyicisi niteliklerini, javascript: URL'lerini ve kod çalıştırabilecek diğer yapıları kaldırır. Yapısal ve biçimlendirme işaretlemesini korur; dolayısıyla oluşturulan çıktı aynı görünür ancak belge bağlamına güvenle eklenebilir.

HTML yapıştırmak yerine bir web sayfası URL'sini dönüştürebilir miyim?

Hayır. Araç, doğrudan yapıştırdığınız HTML işaretlemesiyle çalışır. URL yükleme, çoğu site için CORS kısıtlamalarıyla karşılaşacak bir ağ isteği gerektirir ve işlemi yerel işleme modelinin dışına taşır.