JavaScript Tutorials

JavaScript’te PDF’leri Etkin Bir Şekilde Yazdırma

Spread the love

JavaScript kullanarak web tarayıcısından doğrudan PDF yazdırmak, tarayıcı tutarsızlıkları ve güvenlik hususları nedeniyle kolay değildir. Bununla birlikte, tarayıcının yazdırma iletişim kutusunu etkin bir şekilde tetikleyen birkaç teknik vardır. Bu makale, iki popüler yöntemi ele almaktadır: iframe’den yararlanma ve Print.js kütüphanesini kullanma.

İçindekiler

Iframe Etiketiyle PDF Yazdırma

Bu yaklaşım basittir ve harici kütüphane gerektirmez. PDF’yi bir iframe içine gömer ve ardından iframe bağlamından yazdırmayı tetikler.

Uygulama:

  1. PDF’yi Gömme: <iframe> etiketini kullanın, src özniteliğini PDF’nin URL’sine ayarlayın ve CSS kullanarak gizleyin:
  2. <iframe id="pdf-iframe" src="your-pdf-file.pdf" style="display: none;"></iframe>
  3. Yazdırmayı Tetikleme: JavaScript kullanarak iframe’in içerik penceresine erişin ve print() yöntemini çağırın:
  4. function printPdf() {
      const iframe = document.getElementById('pdf-iframe');
      if (iframe.contentWindow) { // Hataları önlemek için contentWindow'un var olup olmadığını kontrol edin
        iframe.contentWindow.focus(); // Yazdırmadan önce iframe'in odaklandığından emin olun
        iframe.contentWindow.print();
      } else {
        console.error("Hata: iframe içerik penceresine erişilemedi.");
      }
    }
  5. Yazdırma Düğmesi Ekleme: printPdf()‘yi çağıran bir düğme oluşturun:
  6. <button onclick="printPdf()">PDF Yazdır</button>

Sınırlamalar:

  • Tarayıcı Uyumluluğu: Güvenilirlik tarayıcılarda değişir. Bazıları kullanıcı etkileşimi veya belirli izinler gerektirebilir.
  • Sınırlı Kontrol: Sayfa aralıkları veya yazdırma ayarları üzerinde minimum kontrol.
  • Güvenlik: PDF’leri doğrudan gömmek, PDF’nin kaynağına bağlı olarak güvenlik riskleri oluşturabilir.

Print.js Kütüphanesiyle PDF Yazdırma

Print.js, tarayıcı tutarsızlıklarını ele alan ve daha iyi kontrol sağlayan daha sağlam ve özellik açısından zengin bir çözüm sunar. Projenize kolayca entegre edilebilen hafif bir kütüphanedir.

Uygulama:

  1. Print.js’i Dahil Etme: CDN kullanarak Print.js kütüphanesini HTML’nize ekleyin:
  2. <script src="https://cdnjs.cloudflare.com/ajax/libs/print.js/1.6.2/print.min.js"></script>
  3. Yazdırmayı Tetikleme: Print.js’in printJS() fonksiyonunu kullanın:
  4. function printPdf() {
      printJS({
        printable: 'your-pdf-file.pdf',
        type: 'pdf',
      });
    }
  5. Yazdırma Düğmesi Ekleme (öncekiyle aynı):
  6. <button onclick="printPdf()">PDF Yazdır</button>

Avantajlar:

  • Geliştirilmiş Tarayıcı Uyumluluğu: Tarayıcılar arası farklılıkları etkili bir şekilde ele alır.
  • Daha Fazla Kontrol: Iframe yöntemine göre bazı özelleştirme seçenekleri sunar.
  • Kullanımı Daha Kolay: Daha basit ve sezgisel bir API.

Doğru Yöntemi Seçme

Iframe yöntemi daha basittir ancak daha az güvenilirdir ve daha az kontrol sağlar. Print.js, daha sağlam, özellik açısından zengin ve kullanımı kolay bir çözüm sunar, ancak harici bir kütüphane eklemeyi gerektirir. En iyi seçim, projenizin ihtiyaçlarına, uygulama kolaylığı, gerekli kontrol ve tarayıcı uyumluluğu gibi faktörlere öncelik vererek bağlıdır.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir