Programowo drukuj pliki PDF za pomocą języka Java

Drukowanie dokumentów PDF jest często kluczową funkcją w różnych firmach i organizacjach. Możesz łatwo wydrukować plik PDF programowo przy użyciu języka Java. Możesz pracować z interfejsem API Aspose.PDF for Java poprzez konfigurowanie go w swoim środowisku. Przyjrzyjmy się różnym scenariuszom drukowania plików PDF, które są możliwe w Twoich aplikacjach Java:

Wydrukuj plik PDF przy użyciu języka Java

Możesz łatwo wydrukować plik PDF przy użyciu kodu Java, wykonując poniższe czynności:

  1. Utwórz obiekt PdfViewer.
  2. Załaduj wejściowy plik PDF
  3. Wydrukuj plik PDF

Poniższy fragment kodu pokazuje, jak programowo drukować pliki PDF przy użyciu języka Java:

//Utwórz obiekt PdfViewer
PdfViewer viewer = new PdfViewer();
//Otwórz wejściowy plik PDF
viewer.bindPdf(dataDir + "Test.pdf");
//Wydrukuj dokument PDF
viewer.printDocument();
//Zamknij plik PDF
viewer.close();

Drukowanie wielu dokumentów PDF przy użyciu języka Java

Drukowanie wielu plików lub drukowanie wsadowe plików PDF to prosty proces przy użyciu języka Java. Możesz wydrukować wiele plików PDF, wykonując poniższe czynności:

  1. Zainicjuj listę typu String
  2. Dodaj wiele plików PDF do drukowania
  3. Drukuj dokumenty PDF

Poniższy kod pokazuje, jak wydrukować wiele plików PDF przy użyciu języka Java:

// Zainicjuj listę typu String
List<String> files = new ArrayList<>();

// Dodaj wiele plików do wydrukowania
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Przetwórz każdy plik do wydrukowania
for (String file : files)
{
    //Utwórz obiekt PdfViewer
    PdfViewer viewer = new PdfViewer();
    //Otwórz wejściowy plik PDF
    viewer.bindPdf(file);
    //Wydrukuj dokument PDF
    viewer.printDocument();
    //Zamknij plik PDF
    viewer.close();
}

Drukuj określone strony lub zakres stron przy użyciu języka Java

Interfejs API zapewnia dużą kontrolę podczas drukowania plików PDF. Możesz pracować z różnymi polami i metodami podczas drukowania plików, zgodnie z własnymi wymaganiami. Na przykład, jeśli nie chcesz drukować wszystkich stron pliku PDF i tylko kilka stron. Może to być ciągły zakres stron, na przykład od strony numer 3 do strony numer 7, lub losowe strony, takie jak strony numer 1, 5 i 6. Obydwa scenariusze można objąć następującymi krokami:

  1. Zainicjuj obiekt PdfViewer.
  2. Ustaw atrybuty do drukowania
  3. Utwórz obiekty dla ustawień drukarki i strony
  4. Określ, czy chcesz wydrukować wszystkie strony, określone strony czy ciągły zakres stron
  5. Wydrukuj dokument PDF przy użyciu ustawień drukarki i strony

Poniższy kod pokazuje, jak wydrukować określone strony lub zakres stron w dokumencie PDF za pomocą języka Java:

// Utwórz obiekt PdfViewer
PdfViewer viewer = new PdfViewer();
// Otwórz wejściowy plik PDF
viewer.bindPdf(dataDir + "test.pdf");
// Ustaw atrybuty do drukowania
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

// Utwórz obiekty dla ustawień drukarki i strony oraz PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Ustaw nazwę drukarki
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = wszystkie strony; 1 = wybór; 2 = kilka stron
// ps.setFromPage(1);
// ps.setToPage(2);


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


// Wydrukuj dokument przy użyciu ustawień drukarki i strony
viewer.printDocumentWithSettings(pgs, ps);

Drukuj zabezpieczone pliki PDF przy użyciu języka Java

Czasami pliki PDF są zabezpieczone lub zaszyfrowane hasłami w celu zapewnienia autoryzowanego dostępu do danych. Możesz łatwo uzyskać dostęp i wydrukować zabezpieczony lub zaszyfrowany plik PDF za pomocą kodu Java i wydrukować plik zgodnie z własnymi wymaganiami. Musisz wykonać poniższe czynności:

  1. Załaduj chroniony hasłem plik wejściowy PDF z hasłem
  2. Zainicjuj obiekt PdfViewer.
  3. Wydrukuj dokument PDF

Poniższy kod opiera się na tych krokach, które wyjaśniają, jak wydrukować zabezpieczone pliki PDF przy użyciu kodu Java:

//Załaduj bezpieczny dokument PDF, określając hasło użytkownika lub właściciela
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//Utwórz obiekt PdfViewer
PdfViewer viewer = new PdfViewer();
//Otwórz wejściowy plik PDF
viewer.bindPdf(document);
//Wydrukuj dokument PDF
viewer.printDocument();
//Zamknij plik PDF
viewer.close();

Sprawdź stan zadania drukowania podczas drukowania pliku PDF przy użyciu języka Java

Możesz śledzić status zadania drukowania po przesłaniu pliku do kolejki drukowania drukarki. Dzięki temu aplikacja może zdecydować, czy wydruk się powiódł, czy nie. Klasa PdfViewer udostępnia metodę getPrintStatus, która pomaga sprawdzić status zadania drukowania. Na przykład podczas drukowania formatu PDF do XPS można uzyskać status, wykonując poniższe czynności:

  1. Załaduj wejściowy plik PDF
  2. Ustaw atrybuty do drukowania
  3. Utwórz obiekty dla ustawień drukarki i strony
  4. Ustaw nazwę drukarki
  5. Wydrukuj wynik do pliku
  6. Sprawdź stan drukowania

Poniższy kod pokazuje, jak sprawdzić stan zadania drukowania podczas drukowania PDF za pomocą kodu Java:

// Utwórz obiekt PdfViewer
PdfViewer viewer = new PdfViewer();
// Otwórz wejściowy plik PDF
viewer.bindPdf(dataDir + "test.pdf");
// Ustaw atrybuty do drukowania
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

// Utwórz obiekty dla ustawień drukarki i strony oraz PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Ustaw nazwę drukarki
ps.setPrinterName("Microsoft Print to PDF");


// Nazwa Wydruku Wynikowego
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Wydrukuj wynik do pliku
ps.setPrintToFile(true);

// Wydrukuj dokument z ustawieniami określonymi powyżej
viewer.printDocumentWithSettings(pgs, ps);

// Sprawdź stan drukowania
if (viewer.getPrintStatus() != null)
{
    // Zgłoszono wyjątek
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // Pobierz komunikat o wyjątku
    }
}
else
{
    // Nie znaleziono żadnych błędów. Zadanie drukowania zostało zakończone pomyślnie
    System.out.println("printing completed without any issue..");
}

Wniosek

Zbadaliśmy różne scenariusze związane z drukowaniem plików PDF w aplikacjach Java. Możesz łatwo zintegrować te funkcje ze swoimi aplikacjami internetowymi, aplikacjami konsolowymi lub dowolnym innym typem projektu, nad którym pracujesz, używając języka Java. Możesz dokładniej poznać API, ucząc się z referencji API lub dokumentacji produktu. Możliwych scenariuszy związanych z drukowaniem PDF jest znacznie więcej i możesz swobodnie dyskutować z nami za pośrednictwem Bezpłatnego forum pomocy technicznej. Chętnie pomożemy!

Zobacz też