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

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

1.0 Giris

Taşınabilir Belge Formatı (PDF), metin ve grafik içeren belgelerin paylaşılması amacıyla Adobe tarafından geliştirilmiştir. PDF belgesini çevrimiçi olarak açmak için ek bir programa ihtiyaç duyulur. PDF dosyaları, günümüz toplumundaki 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 üretirler. Modern kütüphaneler sayesinde PDF oluşturmak hiç bu kadar kolay olmamıştı.

Bu tür bir kütüphaneyi kullanan bir proje için ideal kütüphaneyi seçerken, yer, okuma ve dönüştürme yetenekleri gibi birçok faktör değerlendirilmelidir.
Bu öğreticide, PDF üretmek için çeşitli JavaScript kütüphanelerini inceleyeceğiz. JS kütüphanesini ve gerçek dünya uygulama senaryolarını üç ana noktaya odaklanarak analiz edeceğiz:

  • Çalıştırma yapılandırması
  • Yazım ve özel yazı tiplerini kolaylaştıran modüller
  • Kullanım kolaylığı

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

2.0 Kutuphaneler

Müşterimizin fatura kopyamızı indirip yazdırmasını istediğimiz bir senaryoyu düşünün. Bu faturanın doğru ve uygun bir şekilde yazdırılmasını sağlamalıyız. Burada, bu faturayı HTML dosyası formatından PDF'ye dönüştürmek için mevcut birçok kütüphaneden birkaçına yakından bakacağız.

2.1 Basit JavaScript Kodu

Normalde, bir PDF dosyasının içeriğini yazdırmak için bilgisayarımıza indirir, açar ve yazdırma seçeneğini seçeriz. Öte yandan, JavaScript ile bir PDF dosyasını doğrudan bir web sayfasından yazdırmak basittir. Tek yapmanız gereken, web sitenizde bir iframe bulundurmak veya dinamik olarak bir tane oluşturabilmek, belgeyi eklemek ve yazdırmaktır. JavaScript kullanarak bir PDF dosyasını nasıl yazdıracağınızı göstereceğim. Bir web sayfası içinde başka bir web sayfası bir iframe kullanılarak gösterilir. Web sayfasının görüntülenmesi 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 kullanılarak görüntülenebilir ve ardından içerikler JavaScript kullanılarak yazdırılabilir. Her iki durumda da, bir iframe gereklidir. Yukarıdaki örnekte, (PDF olan) bir kaynağa sahip bir iframe bulunmaktadır. Ayrıca bir düğme türünde giriş öğesi vardır.

Butonun onclick özelliği printPdf metodunu çağıracak.

JavaScript'te PDF Dosyası Nasıl Yazdırılır: Şekil 1 - Yazdırma

2.2 Print.js

Print.js, öncelikle PDF dosyalarını uygulamalarımızdan ayrılmadan yazdırmamıza, kullanıcı arayüzünden bunları içe aktarmadan ve yazdırmadan, veya gömülü kullanmadan yazdırmamızı sağlamak için oluşturuldu. Bu, yalnızca PDF dosyalarını yazdırması gereken kullanıcılar için özel durumlardır ve bunları açmaları veya indirmeleri gerekmez.

Örneğin, sunucu tarafında oluşturulan raporları yazdırmak için kullanıcıların istek yaptığı durumlarda bu yardımcı olabilir. Bu raporlar size PDF belgeleri olarak iade edilir. Bu dosyalar açılmaya gerek kalmadan yazdırılabilir. Uygulamalarımızda Print.js, bu dosyaları yazdırmak için kullanışlı 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, web sitesinden doğrudan PDF dosyalarının yazdırılması için kullanılabilir. Bu, yazdırma işleminin 'print-area' adlı ID'ye sahip HTML öğesi içindeki tüm HTML dizelerini yazdıracağını gösterir.

JavaScript'te PDF Dosyası Nasıl Yazdırılır: Şekil 2 - Bu dizeleri yazdırma

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

IronPDF, doğruluk, kullanım kolaylığı ve hız açısından üstün olan kapsamlı bir Node.js PDF kütüphanesidir. HTML, URL'ler ve React'teki görüntülerden doğrudan PDF oluşturma, düzenleme ve biçimlendirme için geniş bir özellik yelpazesi sunar. Windows, MacOS, Linux, Docker ve Azure, AWS gibi bulut platformları dahil çeşitli platformlar için destek sunarak, IronPDF çapraz platform uyumluluğu sağlar. Kullanıcı dostu API'si, geliştiricilerin PDF oluşturma ve manipülasyonunu hızla Node.js projelerine entegre etmelerini sağlar.

IronPDF for Node.js'nin Temel Özellikleri:

  • Çok Yönlü PDF Oluşturma: IronPDF ile, geliştiriciler HTML, CSS, JavaScript, resimler ve diğer dosya türleri dahil olmak üzere çeşitli kaynaklardan PDF'ler oluşturabilir. Bu esneklik, belirli gereksinimlere uygun dinamik ve görsel olarak etkileyici PDF belgeleri yaratılmasına olanak tanır.
  • Gelişmiş Belge Özelleştirme: IronPDF, geliştiricilere başlıklar, notlar, ekler, dijital imzalar, filigranlar ve yer imleri gibi özelliklerle PDF belgelerini zenginleştirme gücü verir. Bu, zengin içeriğe sahip ve etkileşimli unsurlarla profesyonel kalitede PDF'lerin oluşturulmasına olanak tanır.
  • Güvenlik Özellikleri: IronPDF, yetkisiz erişimi onlemek icin guclu güvenlik özellikleri sunar. Geliştiriciler, PDF belgelerinde yer alan hassas bilgileri korumak için parola, dijital imzalar, meta veriler ve diğer güvenlik ayarları gibi güvenlik önlemleri uygulayabilir.
  • Optimize Edilmiş Performans: IronPDF, tam çok iş parçacıklı ve eşzamanlı destek özelliği sunarak optimizasyon için tasarlanmıştır. Bu, PDF oluşturmanın verimli olmasını sağlar ve performansın çok önemli olduğu yerlerde kullanıma uygundur.
  • Kapsamlı Özellik Seti: PDF belgeleri oluşturma, biçimlendirme ve düzenleme için 50'den fazla özellik ile IronPDF, PDF ile ilgili tüm görevler için kapsamlı bir çözüm sunar. Temel belge oluşturma işlemlerinden gelişmiş özelleştirme ve güvenlik çözümlerine kadar, IronPDF, geliştiricilerin ihtiyaçlarını karşılamak için geniş bir yetenek yelpazesi sunar.

Yazdırma için formatı korumak amacıyla HTML Dosyası, HTML Dizesi ve URL den bir PDF belgesi oluşturma ve kaydetmenin bir örneği burada verilmiştir:

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 görevler için daha fazla kod örneği görmek için lütfen bu IronPDF Code Examples for Node.js sayfasını ziyaret ediniz.

JavaScript'te PDF Dosyası Nasıl Yazdırılır: Şekil 3 - IronPDF

3.0 Sonuc

Kullanıcı yukarıdaki JavaScript kodunu görebilir, ancak bu başkaları tarafından kötüye kullanılabilir. Kaynak kodun bu şekilde kullanılması mümkündür. Ek olarak, veri güvenliğini tehlikeye atan kodları web sitesine eklemek zor değildir. Yukarıda belirtilen JavaScript kütüphanesi, farklı tarayıcılar tarafından farklı şekilde görüntülenir. Bu nedenle, kod farklı sistemlerde çalıştırıldıktan sonra yayınlanmalıdır. Bazı yeni işlevler eski tarayıcılar tarafından desteklenmediğinden, bunlar için tarayıcı uyumluluğunu da kontrol etmemiz gerekmektedir. Yukarıda bahsedilen kütüphaneler PDF dosyaları üretebilir. Kullanıcının üzerinde çalıştığı betik hakkında da biraz bilgi sahibi olması gerekir.

IronPDF'nin JavaScript ile oluşturulmuş framework ve kütüphaneler için basit entegrasyon süreci, mükemmel IronPDF Documentation for Node.js ve örnek kodlar ile hızlı teknik destek sayesinde, geliştiriciler kısa sürede hayata geçebilir, bu da onu Node.js ile ilgili uygulamalar için profesyonel kalitede PDF oluşturma ve yazdırmada en iyi seçenek haline getirir.

IronPDF, Node.js için ücretsiz deneme sunar, böylece karar vermeden önce tüm işlevselliğini test edebilirsiniz. Ayrıca, 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'i indirin.

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

Darrius Serrant, Miami Üniversitesi'nden Bilgisayar Bilimleri lisans derecesine sahiptir ve Iron Software'de Tam Yığın WebOps Pazarlama Mühendisi olarak çalışmaktadır. Küçük yaşlardan itibaren kodlamaya ilgi duyan Darrius, bilişimi hem gizemli hem de erişilebilir buldu ve onu yaratıcılık ve problem çö...

Daha Fazlasını Oku

Iron Destek Ekibi

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