Java ile Programlı Olarak PDF Yazdırın

PDF belgelerini yazdırmak, genellikle farklı şirket ve kuruluşlarda önemli bir işlevdir. Java dilini kullanarak bir PDF dosyasını programlı olarak kolayca yazdırabilirsiniz. Aspose.PDF for Java API’yi ortamınızda yapılandırarak çalışabilirsiniz. Java uygulamalarınızda mümkün olan farklı PDF yazdırma senaryolarını gözden geçirelim:

Java kullanarak PDF Dosyasını Yazdır

Aşağıdaki adımları uygulayarak Java kodunu kullanarak bir PDF dosyasını kolayca yazdırabilirsiniz:

  1. PdfViewer nesnesi oluştur
  2. Giriş PDF dosyasını yükle
  3. PDF dosyasını yazdır

Aşağıdaki kod parçacığı, Java kullanılarak programlı olarak PDF dosyalarının nasıl yazdırılacağını gösterir:

//PdfViewer nesnesi oluştur
PdfViewer viewer = new PdfViewer();
//Giriş PDF dosyasını aç
viewer.bindPdf(dataDir + "Test.pdf");
//PDF belgesini yazdır
viewer.printDocument();
//PDF dosyasını kapat
viewer.close();

Java Kullanarak Birden Fazla PDF Belgesi Yazdırma

Birden çok dosyanın yazdırılması veya PDF dosyalarının toplu olarak yazdırılması, Java dilini kullanan basit bir işlemdir. Aşağıdaki adımları izleyerek bir dizi PDF dosyasını yazdırabilirsiniz:

  1. Dize türünün bir listesini başlat
  2. Yazdırmak için birden fazla PDF dosyası ekleyin
  3. PDF belgelerini yazdır

Aşağıdaki kod, Java dilini kullanarak birden çok PDF dosyasının nasıl yazdırılacağını gösterir:

// Dize türünün bir listesini başlat
List<String> files = new ArrayList<>();

// Yazdırılacak birden fazla dosya ekleyin
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Yazdırmak için her dosyayı işleyin
for (String file : files)
{
    //PdfViewer nesnesi oluştur
    PdfViewer viewer = new PdfViewer();
    //Giriş PDF dosyasını aç
    viewer.bindPdf(file);
    //PDF belgesini yazdır
    viewer.printDocument();
    //PDF dosyasını kapat
    viewer.close();
}

Java kullanarak Belirli Sayfaları veya Sayfa Aralığını Yazdırın

API, PDF dosyalarını yazdırırken size birçok kontrol sağlar. Dosyaları yazdırırken ihtiyaçlarınıza göre farklı alan ve yöntemlerle çalışabilirsiniz. Örneğin, bir PDF dosyasının tüm sayfalarını değil, yalnızca birkaç sayfasını yazdırmak istiyorsanız. Sayfa Numarası 3’ten Sayfa Numarası 7’ye kadar bazı sürekli sayfa aralığı olabilir veya bunlar Sayfa Numarası 1,5 ve 6 gibi rastgele sayfalar olabilir. Aşağıdaki adımlarla her iki senaryoyu da kapsayabilirsiniz:

  1. PdfViewer nesnesini başlat
  2. Yazdırma için öznitelikleri ayarla
  3. Yazıcı ve sayfa ayarları için nesneler oluşturun
  4. Tüm sayfaları mı, belirli sayfaları mı yoksa sürekli bir sayfa aralığını mı yazdırmak istediğinizi belirtin
  5. Yazıcı ve sayfa ayarlarını kullanarak PDF belgesi yazdırın

Aşağıdaki kod, Java ile bir PDF belgesindeki belirli sayfaların veya bir dizi sayfanın nasıl yazdırılacağını gösterir:

// PdfViewer nesnesi oluştur
PdfViewer viewer = new PdfViewer();
// Giriş PDF dosyasını aç
viewer.bindPdf(dataDir + "test.pdf");
// Yazdırma için öznitelikleri ayarla
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// Yazıcı ve sayfa ayarları ve PrintDocument için nesneler oluşturun
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Yazıcı adını ayarla
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = tüm sayfalar; 1 = seçim; 2 = bazı sayfalar
// ps.setFromPage(1);
// ps.setToPage(2);


ps.setPrintRange(1); // 0 = all pages; 1 = selection; 2 = some pages
ps.setSelectedPages(new int[]{1, 3, 5});


// Yazıcı ve sayfa ayarlarını kullanarak belge yazdırın
viewer.printDocumentWithSettings(pgs, ps);

Java kullanarak Güvenli PDF yazdırın

Bazen, verilere yetkili erişimi sağlamak için PDF dosyaları güvenlik altına alınır veya parolalarla şifrelenir. Güvenli veya şifreli PDF dosyasına Java kodunu kullanarak kolayca erişebilir ve yazdırabilir ve dosyayı gereksinimlerinize göre yazdırabilirsiniz. Aşağıdaki adımları izlemeniz gerekir:

  1. Parola korumalı PDF giriş dosyasını parolayla yükleyin
  2. PdfViewer nesnesini başlat
  3. PDF belgesini yazdırın

Aşağıdaki kod, güvenli PDF dosyalarının Java kodunu kullanarak nasıl yazdırılacağını açıklayan şu adımlara dayanmaktadır:

//Kullanıcı veya Sahip parolasını belirtirken güvenli PDF belgesi yükleyin
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//PdfViewer nesnesi oluştur
PdfViewer viewer = new PdfViewer();
//Giriş PDF dosyasını aç
viewer.bindPdf(document);
//PDF belgesini yazdır
viewer.printDocument();
//PDF dosyasını kapat
viewer.close();

Java kullanarak PDF Yazdırırken Yazdırma Görevinin Durumunu Kontrol Edin

Dosya yazıcının yazdırma kuyruğuna gönderildikten sonra yazdırma işinin durumunu takip edebilirsiniz. Bu, uygulamanızın yazdırmanın başarılı olup olmadığına karar vermesini sağlar. PdfViewer sınıfı, yazdırma işinin durumunu kontrol etmenize yardımcı olan getPrintStatus yöntemini gösterir. Örneğin, bir PDF’yi XPS biçiminde yazdırırken, aşağıdaki adımları izleyerek durumu alabilirsiniz:

  1. Giriş PDF dosyasını yükle
  2. Yazdırma için öznitelikleri ayarla
  3. Yazıcı ve sayfa ayarları için nesneler oluşturun
  4. Yazıcı adını ayarla
  5. Çıktıyı dosyaya yazdır
  6. Yazdırma durumunu kontrol edin

Aşağıdaki kod, Java kodunu kullanarak PDF yazdırma sırasında yazdırma görevinin durumunun nasıl kontrol edileceğini gösterir:

// PdfViewer nesnesi oluştur
PdfViewer viewer = new PdfViewer();
// Giriş PDF dosyasını aç
viewer.bindPdf(dataDir + "test.pdf");
// Yazdırma için öznitelikleri ayarla
viewer.setAutoResize(true); // Print the file with adjusted size
viewer.setAutoRotate(true); // Print the file with adjusted rotation
viewer.setPrintPageDialog(false); // Do not produce the page number dialog when printing

// Yazıcı ve sayfa ayarları ve PrintDocument için nesneler oluşturun
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Yazıcı adını ayarla
ps.setPrinterName("Microsoft Print to PDF");


// Sonuç Çıktı adı
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Çıktıyı dosyaya yazdır
ps.setPrintToFile(true);

// Belgeyi yukarıda belirtilen ayarlarla yazdırın
viewer.printDocumentWithSettings(pgs, ps);

// Yazdırma durumunu kontrol edin
if (viewer.getPrintStatus() != null)
{
    // Bir istisna atıldı
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // İstisna mesajı al
    }
}
else
{
    // Hata bulunamadı. Yazdırma işi başarıyla tamamlandı
    System.out.println("printing completed without any issue..");
}

Çözüm

Java uygulamalarınızda PDF dosyalarının yazdırılmasıyla ilgili farklı senaryoları inceledik. Java dilini kullanarak bu özellikleri web uygulamalarınıza, konsol uygulamalarınıza veya üzerinde çalıştığınız diğer herhangi bir proje türüne kolayca entegre edebilirsiniz. API referansları veya Ürün Belgeleri’nden öğrenerek API’yi daha fazla keşfedebilirsiniz. PDF yazdırmayla ilgili daha pek çok olası senaryo vardır ve Ücretsiz Destek Forumu aracılığıyla bizimle özgürce görüşebilirsiniz. Yardım etmekten mutluluk duyacağız!

Ayrıca bakınız