Altbilgi içeriğine atla
PDF ARAçLARı

JavaScript'te PDF Dosyası Nasıl Yazdırılır

1.0 Giriş

Taşınabilir Belge Formatı (PDF), metin ve grafik içeren belgeleri paylaşmak amacıyla Adobe tarafından geliştirildi. Çevrimiçi bir PDF belgesini açmak için ek bir programa ihtiyaç vardır. PDF dosyaları, bugünün toplumunda kritik bilgiler için çok önemlidir. Birçok işletme belgeler ve faturalar oluşturmak için PDF dosyalarını kullanır. Müşteri ihtiyaçlarını karşılamak için geliştiriciler PDF belgeleri üretir. Modern kütüphaneler sayesinde PDF oluşturmak her zamankinden daha kolay hale geldi.

Bu tür bir kütüphaneyi kullanan bir proje için ideal kütüphaneyi seçmek için oluşturma, okuma ve dönüştürme yetenekleri gibi bir dizi faktörü değerlendirmeliyiz.
Bu eğitimde, PDF üretimi için çeşitli JavaScript kütüphanelerini inceleyeceğiz. JS kütüphanesini ve gerçek dünya uygulama senaryolarını analiz edeceğiz ve üç ana noktaya odaklanacağız:

  • Çalışma konfigürasyonu
  • Yazı tipi ve özel fontları kolaylaştıran modüller
  • Kullanım kolaylığı

Bunu okuduktan sonra, JavaScript uygulamanız için ideal PDF kütüphanesini seçebilirsiniz. Son olarak, faydalı ve etkili bir PDF kütüphanesi olan IronPDF'i de ele alacağız.

2.0 Kütüphaneler

Müşterinin faturamızın bir kopyasını indirip yazdırabilmesini arzu ettiğimiz bir senaryoyu düşünelim. Bu faturanın doğru ve uygun bir şekilde yazdırılması gerek. Burada, bu faturayı HTML dosya formatından PDF'ye dönüştürmek için mevcut olan birçok kütüphaneden bazılarına daha yakından bakacağız.

2.1 Düz JavaScript Kodu

Normalde, bir PDF dosyası içeriğini yazdırmak için bilgisayarımıza indirir, açar ve yazdırma seçeneğini seçeriz. Öte yandan, JavaScript, bir web sayfasından doğrudan PDF dosyası yazdırmayı kolay hale getirir. Tek ihtiyacınız olan, web sitenizde bir iframe olması veya birinin dinamik olarak oluşturulabilmesi, belgeyi eklemesi ve yazdırmasıdır. JavaScript kullanarak bir PDF dosyasını nasıl yazdıracağınızı göstereceğim. Bir web sayfası, başka bir web sayfasının içine gösterilirken bir iframe kullanılır. Web sayfasının görüntülenebilmesi için iframe'in kaynağını bilmesi gerekir.

<!DOCTYPE html>
<html>
<head>
    <title>JavaScript Print PDF</title>
</head>
<body>

    <iframe 
        src="Demo.pdf" id="myFrame" 
        frameborder="0" style="border:0;" 
        width="300" height="300">
    </iframe>
    <p>

        <input type="button" id="bt" onclick="printPdf()" value="Print PDF" />
    </p>

    <script>
        // JavaScript function to print the PDF inside the iframe
        let printPdf = () => {
            // Access the iframe
            let objFra = document.getElementById('myFrame');
            // Focus the iframe's window
            objFra.contentWindow.focus();
            // Trigger the print dialog
            objFra.contentWindow.print();
        }
    </script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <title>JavaScript Print PDF</title>
</head>
<body>

    <iframe 
        src="Demo.pdf" id="myFrame" 
        frameborder="0" style="border:0;" 
        width="300" height="300">
    </iframe>
    <p>

        <input type="button" id="bt" onclick="printPdf()" value="Print PDF" />
    </p>

    <script>
        // JavaScript function to print the PDF inside the iframe
        let printPdf = () => {
            // Access the iframe
            let objFra = document.getElementById('myFrame');
            // Focus the iframe's window
            objFra.contentWindow.focus();
            // Trigger the print dialog
            objFra.contentWindow.print();
        }
    </script>
</body>
</html>
HTML

Bir PDF'yi yazdırmak için bir belgenin içeriği bir iframe kullanarak görüntülenebilir ve daha sonra içerikler JavaScript kullanılarak yazdırılabilir. Her iki durumda da, bir iframe gereklidir. Yukarıdaki örnekte, bir kaynakla (PDF) bir iframe bulunmaktadır. Ayrıca, bir buton tipinde giriş elemanı da bulunmaktadır.

Düğmenin onclick özelliği, printPdf metodunu çağıracaktır.

JavaScript ile PDF Dosyasını Yazdırma: Şekil 1 - Yazdırma

2.2 Print.js

Print.js, PDF dosyalarını uygulamalarımızda yazdırmamızı sağlamak üzere öncelikle oluşturulmuştur, böylece kullanıcı arayüzünden çıkmadan, bunları içe aktarma ve yazdırmayan veya gömme yapmadan yazdırabiliriz. Bu yalnızca PDF dosyalarını yazdırması gereken özel durumlar içindir, kullanıcıların onları açmaya veya indirmeye ihtiyacı yoktur.

Örneğin, kullanıcılar sunucu tarafında üretilen raporları yazdırmak istediğinde bu yararlı olabilir. Bu raporlar, PDF belgeleri olarak size geri döner. Bu dosyalar açılmaya gerek kalmadan yazdırılabilir. Print.js, uygulamalarımızda bu dosyaları yazdırmak için pratik bir yol sağlar.

<!DOCTYPE html>
<html>
<head>
    <title>Print.js Example</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
    <script src="https://printjs-4de6.kxcdn.com/print.min.js"></script>
    <link href="https://printjs-4de6.kxcdn.com/print.min.css" rel="stylesheet">   
</head>
<body>

    <div id="print-area" class="print-main">
        <table>
            <tr>
                <th>Name</th>
                <th>Age</th>
            </tr>
            <tr>
                <td>AAA</td>
                <td>25</td>
            </tr>
            <tr>
                <td>BBB</td>
                <td>24</td>
            </tr>
        </table>
    </div>

    <button id="btnPrint">Print</button>

    <script>
        $(document).ready(function(){
            // When the print button is clicked
            $("#btnPrint").on("click", function(){
                // Use Print.js to print the content of #print-area
                printJS({
                    printable: 'print-area',
                    type: 'html'
                });
            });
        });
    </script>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
    <title>Print.js Example</title>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.5.1/jquery.js"></script>
    <script src="https://printjs-4de6.kxcdn.com/print.min.js"></script>
    <link href="https://printjs-4de6.kxcdn.com/print.min.css" rel="stylesheet">   
</head>
<body>

    <div id="print-area" class="print-main">
        <table>
            <tr>
                <th>Name</th>
                <th>Age</th>
            </tr>
            <tr>
                <td>AAA</td>
                <td>25</td>
            </tr>
            <tr>
                <td>BBB</td>
                <td>24</td>
            </tr>
        </table>
    </div>

    <button id="btnPrint">Print</button>

    <script>
        $(document).ready(function(){
            // When the print button is clicked
            $("#btnPrint").on("click", function(){
                // Use Print.js to print the content of #print-area
                printJS({
                    printable: 'print-area',
                    type: 'html'
                });
            });
        });
    </script>
</body>
</html>
HTML

Yukarıdaki kod, PDF dosyalarını doğrudan web sitesinden yazdırmak için kullanılabilir. Bu, onu yazdırdığınızda "print-area" adında bir ID sahibi HTML elemanı içindeki tüm HTML dizelerini yazdıracağını gösterir.

JavaScript ile PDF Dosyasını Yazdırma: Şekil 2 - Bu dizeleri yazdırma

2.3 IronPDF - Node.js PDF Kütüphanesi

IronPDF, doğruluk, kullanım kolaylığı ve hızında üstün olan kapsamlı bir Node.js PDF kütüphanesidir. React'ta HTML, URL'ler ve görüntülerden doğrudan PDF'ler oluşturma, düzenleme ve biçimlendirme için geniş bir dizi özellik sunar. IronPDF, Windows, MacOS, Linux, Docker ve Azure ve AWS gibi bulut platformları dahil olmak üzere çeşitli platformlar için destek sunarak platformlar arası uyumluluk sağlar. Kullanıcı dostu API'si geliştiricilerin PDF oluşturma ve işleme işlemlerini Node.js projelerine hızlıca entegre etmelerine olanak tanır.

IronPDF for Node.js'nin Temel Özellikleri:

  • Çok Yönlü PDF Oluşturma: IronPDF ile geliştiriciler, HTML, CSS, JavaScript, görüntüler ve diğer dosya türleri dahil olmak üzere çeşitli kaynaklardan PDF'ler oluşturabilir. Bu esneklik, belirli gereksinimlere göre dinamik ve görsel olarak çekici PDF belgeleri oluşturmayı sağlar.
  • Gelişmiş Belge Özelleştirme: IronPDF, geliştiricilere başlıklar, altbilgiler, ekler, dijital imzalar, filigranlar ve yer imleri gibi özelliklerle PDF belgelerini geliştirme gücü sağlıyor. Bu, zengin içerik ve etkileşimli öğeler içeren profesyonel düzeyde PDF'ler oluşturmayı mümkün kılar.
  • Güvenlik Özellikleri: IronPDF, yetkisiz erişime karşı PDF'leri korumak için güçlü güvenlik özellikleri sunar. Geliştiriciler, PDF belgelerinde yer alan hassas bilgileri korumak için parolalar, dijital imzalar, meta veriler ve diğer güvenlik ayarları gibi güvenlik önlemleri uygulayabilir.
  • İyileştirilmiş Performans: IronPDF, tam çoklu iş parçacığı ve asenkron destekle optimize edilmiş performans için tasarlanmıştır. Bu, PDF oluşturma işleminin verimli olduğunu garanti eder ve performansın önemli olduğu kritik uygulamalar için uygun hale getirir.
  • Kapsamlı Özellik Seti: PDF belgeleri oluşturma, biçimlendirme ve düzenleme için 50'den fazla özelliğe sahip olan IronPDF, tüm PDF ile ilgili görevler için kapsamlı bir çözüm sunar. Temel belge oluşturmadan gelişmiş özelleştirme ve güvenliğe kadar, IronPDF geliştiricilerin ihtiyaçlarını karşılamak için geniş bir yetenek yelpazesi sunar.

HTML Dosyası, HTML String ve URL'den PDF belgesi oluşturma ve yazdırma için biçimlendirmeyi korumak için bir örnek:

import { PdfDocument } from "@ironsoftware/ironpdf";

// An async function to demonstrate how to generate PDF documents
(async () => {
    // Create a PDF from a URL
    const pdfFromUrl = await PdfDocument.fromUrl("https://getbootstrap.com/");
    // Save it to a file
    await pdfFromUrl.saveAs("website.pdf");

    // Create a PDF from a local HTML file
    const pdfFromHtmlFile = await PdfDocument.fromHtml("design.html");
    // Save it to a file
    await pdfFromHtmlFile.saveAs("markup.pdf");

    // Create a PDF from an HTML string
    const pdfFromHtmlString = await PdfDocument.fromHtml("<p>Hello World</p>");
    // Save it to a file
    await pdfFromHtmlString.saveAs("markup_with_assets.pdf");
})();
import { PdfDocument } from "@ironsoftware/ironpdf";

// An async function to demonstrate how to generate PDF documents
(async () => {
    // Create a PDF from a URL
    const pdfFromUrl = await PdfDocument.fromUrl("https://getbootstrap.com/");
    // Save it to a file
    await pdfFromUrl.saveAs("website.pdf");

    // Create a PDF from a local HTML file
    const pdfFromHtmlFile = await PdfDocument.fromHtml("design.html");
    // Save it to a file
    await pdfFromHtmlFile.saveAs("markup.pdf");

    // Create a PDF from an HTML string
    const pdfFromHtmlString = await PdfDocument.fromHtml("<p>Hello World</p>");
    // Save it to a file
    await pdfFromHtmlString.saveAs("markup_with_assets.pdf");
})();
JAVASCRIPT

PDF ile ilgili daha fazla kod örnekleri için lütfen bu IronPDF Node.js için Kod Örnekleri sayfasını ziyaret edin.

JavaScript ile PDF Dosyasını Yazdırma: Şekil 3 - IronPDF

3.0 Sonuç

Kullanıcı yukarıdaki JavaScript kodunu görebilir, ancak başkaları tarafından kötüye kullanılabilir. Kaynak kodu bu şekilde kullanmak mümkündür. Ayrıca, veri gönderimi sırasında sitenin güvenliğini riske atan kodu siteye eklemek zor değildir. Yukarıda bahsedilen JavaScript kütüphanesi farklı tarayıcılar tarafından farklı algılanır. Bu nedenle, kodun yayımlanmadan önce çeşitli sistemlerde çalışması gereklidir. Bazı yeni işlevler eski tarayıcılar tarafından desteklenmediğinden, bu işlevler için tarayıcı uyumluluğunu da kontrol etmemiz gerekiyor. Yukarıda belirtilen kütüphaneler PDF dosyaları üretebilir. Kullanıcının ayrıca çalıştığı betik hakkında biraz bilgi sahibi olması gerekir.

IronPDF'in JavaScript ile oluşturulmuş framework ve kütüphaneler için basit bir entegrasyon süreci, mükemmel IronPDF Belgeleri Node.js için ve örnek kod örnekleri, ve duyarlı teknik destek ile geliştiricilerin hızlıca kullanıma başlamasını sağlar, bu da Node.js ile ilgili uygulamalarda profesyonel kalitede PDF'ler oluşturma ve yazdırma konusunda onu en iyi tercih haline getirir.

IronPDF, eksiksiz işlevselliğini test etmeden önce bilinçli bir karar vermeniz için Node.js için ücretsiz deneme sunar. C# .NET, Java ve Python gibi diğer diller için de mevcuttur. Daha fazla ayrıntı için IronPDF Web Sitesini ziyaret edin. IronPDF Node.js indirme sayfası'ndan IronPDF for Node.js indirin.

Darrius Serrant
Tam Yığın Yazılım Mühendisi (WebOps)

Darrius Serrant, Miami Üniversitesi'nden Bilgisayar Bilimi alanında Lisans Derecesine sahip ve Iron Software'de Tam Yığın WebOps Pazarlama Mühendisi olarak çalışıyor. Genç yaşlardan itibaren kodlamaya çekildi, bilgisayar bilimi hem gizemli hem de erişilebilir olarak görüldü ve bu özellik, yaratıcılık ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara