PDF mit Java programmgesteuert drucken

Das Drucken von PDF Dokumenten ist oft eine Schlüsselfunktion in verschiedenen Unternehmen und Organisationen. Sie können eine PDF Datei ganz einfach programmgesteuert mit der Java-Sprache drucken. Sie können mit der Aspose.PDF for Java-API arbeiten, indem Sie sie in Ihrer Umgebung konfigurieren. Lassen Sie uns verschiedene PDF-Druckszenarien durchgehen, die in Ihren Java Anwendungen möglich sind:

PDF Datei mit Java drucken

Sie können eine PDF Datei ganz einfach mit Java-Code drucken, indem Sie die folgenden Schritte ausführen:

  1. Erstellen Sie das Objekt PdfViewer.
  2. Eingabe PDF Datei laden
  3. Drucken Sie die PDF Datei

Das folgende code snippet zeigt, wie PDF Dateien programmgesteuert mit Java gedruckt werden:

//PdfViewer objekt erstellen
PdfViewer viewer = new PdfViewer();
//PDF-Eingabedatei öffnen
viewer.bindPdf(dataDir + "Test.pdf");
//PDF Dokument drucken
viewer.printDocument();
//PDF Datei schließen
viewer.close();

Drucken mehrerer PDF Dokumente mit Java

Das Drucken mehrerer Dateien oder das Stapeldrucken von PDF Dateien ist ein einfacher Vorgang mit der Java-Sprache. Sie können eine Reihe von PDF Dateien drucken, indem Sie die folgenden Schritte ausführen:

  1. Initialisiert eine Liste vom Typ String
  2. Mehrere PDF Dateien zum Drucken hinzufügen
  3. PDF Dokumente drucken

Der folgende Code zeigt, wie mehrere PDF Dateien mit Java-Sprache gedruckt werden:

// Initialisiert eine Liste vom Typ String
List<String> files = new ArrayList<>();

// Fügen Sie mehrere zu druckende Dateien hinzu
files.add(dataDir + "First.pdf");
files.add(dataDir + "Second.pdf");

// Verarbeiten Sie jede Datei zum Drucken
for (String file : files)
{
    //PdfViewer objekt erstellen
    PdfViewer viewer = new PdfViewer();
    //PDF-Eingabedatei öffnen
    viewer.bindPdf(file);
    //PDF Dokument drucken
    viewer.printDocument();
    //PDF Datei schließen
    viewer.close();
}

Drucken Sie bestimmte Seiten oder Seitenbereiche mit Java

Die API gibt Ihnen viel Kontrolle beim Drucken von PDF Dateien. Sie können beim Drucken von Dateien je nach Bedarf mit verschiedenen Feldern und Methoden arbeiten. Zum Beispiel, wenn Sie nicht alle Seiten einer PDF Datei drucken möchten und nur wenige Seiten. Es könnte sich um einen fortlaufenden Seitenbereich handeln, z. B. von Seite 3 bis Seite 7, oder um zufällige Seiten wie Seite 1, 5 und 6. Sie können beide Szenarien mit den folgenden Schritten abdecken:

  1. Initialisieren Sie das Objekt PdfViewer.
  2. Legen Sie die Attribute für den Druck fest
  3. Erstellen Sie Objekte für Drucker und Seiteneinstellungen
  4. Geben Sie an, ob Sie alle Seiten, bestimmte Seiten oder einen fortlaufenden Seitenbereich drucken möchten
  5. PDF Dokument mit den Drucker und Seiteneinstellungen drucken

Der folgende Code zeigt, wie bestimmte Seiten oder ein Seitenbereich in einem PDF Dokument mit Java gedruckt werden:

// PdfViewer objekt erstellen
PdfViewer viewer = new PdfViewer();
// PDF-Eingabedatei öffnen
viewer.bindPdf(dataDir + "test.pdf");
// Legen Sie die Attribute für den Druck fest
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

// Erstellen Sie Objekte für Drucker und Seiteneinstellungen und PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();
// Druckernamen festlegen
ps.setPrinterName("Microsoft Print to PDF");

// ps.setPrintRange(2); // 0 = alle Seiten; 1 = Auswahl; 2 = einige Seiten
// ps.setFromPage(1);
// ps.setToPage(2);


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


// Dokument mit Drucker und Seiteneinstellungen drucken
viewer.printDocumentWithSettings(pgs, ps);

Geschütztes PDF mit Java drucken

Manchmal werden PDF Dateien mit Passwörtern gesichert oder verschlüsselt, um den autorisierten Zugriff auf die Daten sicherzustellen. Sie können die gesicherte oder verschlüsselte PDF Datei mit Java-Code einfach aufrufen und drucken und die Datei gemäß Ihren Anforderungen drucken. Sie müssen die folgenden Schritte ausführen:

  1. Laden Sie die passwortgeschützte PDF-Eingabedatei mit dem Passwort
  2. Initialisieren Sie das Objekt PdfViewer.
  3. Drucken Sie das PDF Dokument aus

Der folgende Code basiert auf diesen Schritten, die erklären, wie die gesicherten PDF Dateien mit Java-Code gedruckt werden:

//Laden Sie ein sicheres PDF Dokument, während Sie das Benutzer oder Eigentümerkennwort angeben
Document document = new Document(dataDir + "Password.pdf" , "userORowner");
//PdfViewer objekt erstellen
PdfViewer viewer = new PdfViewer();
//PDF-Eingabedatei öffnen
viewer.bindPdf(document);
//PDF Dokument drucken
viewer.printDocument();
//PDF Datei schließen
viewer.close();

Überprüfen Sie den Status der Druckaufgabe beim Drucken von PDFs mit Java

Sie können den Status des Druckauftrags im Auge behalten, nachdem die Datei an die Druckwarteschlange des Druckers gesendet wurde. So kann Ihre Anwendung entscheiden, ob der Druck erfolgreich war oder nicht. Die PdfViewer Klasse stellt die Methode getPrintStatus bereit, die Ihnen hilft, den Status des Druckauftrags zu überprüfen. Wenn Sie beispielsweise ein PDF im XPS Format drucken, können Sie den Status abrufen, indem Sie die folgenden Schritte ausführen:

  1. Eingabe PDF Datei laden
  2. Legen Sie die Attribute für den Druck fest
  3. Erstellen Sie Objekte für Drucker und Seiteneinstellungen
  4. Druckernamen festlegen
  5. Drucken Sie die Ausgabe in eine Datei
  6. Überprüfen Sie den Druckstatus

Der folgende Code zeigt, wie der Status der Druckaufgabe während des PDF-Drucks mit Java-Code überprüft wird:

// PdfViewer objekt erstellen
PdfViewer viewer = new PdfViewer();
// PDF-Eingabedatei öffnen
viewer.bindPdf(dataDir + "test.pdf");
// Legen Sie die Attribute für den Druck fest
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

// Erstellen Sie Objekte für Drucker und Seiteneinstellungen und PrintDocument
PrintPageSettings pgs = new PrintPageSettings();
PdfPrinterSettings ps = new PdfPrinterSettings();

// Druckernamen festlegen
ps.setPrinterName("Microsoft Print to PDF");


// Name des resultierenden Ausdrucks
ps.setPrintFileName(dataDir + "ResultantPrintout.xps");

// Drucken Sie die Ausgabe in eine Datei
ps.setPrintToFile(true);

// Drucken Sie das Dokument mit den oben angegebenen Einstellungen
viewer.printDocumentWithSettings(pgs, ps);

// Überprüfen Sie den Druckstatus
if (viewer.getPrintStatus() != null)
{
    // Eine Ausnahme wurde ausgelöst
    Exception ex = (Exception)viewer.getPrintStatus();
    if (ex != null)
    {
        // Ausnahmemeldung erhalten
    }
}
else
{
    // Es wurden keine Fehler gefunden. Der Druckauftrag wurde erfolgreich abgeschlossen
    System.out.println("printing completed without any issue..");
}

Fazit

Wir haben verschiedene Szenarien im Zusammenhang mit dem Drucken von PDF Dateien in Ihren Java Anwendungen untersucht. Sie können diese Funktionen mithilfe der Java-Sprache problemlos in Ihre Webanwendungen, Konsolenanwendungen oder jede andere Art von Projekt integrieren, mit dem Sie arbeiten. Sie können die API weiter erkunden, indem Sie von API-Referenzen oder Produktdokumentation lernen. Es gibt viel mehr mögliche Szenarien im Zusammenhang mit dem PDF-Druck und Sie können mit uns über Free Support Forum frei diskutieren. Wir helfen Ihnen gerne weiter!

Siehe auch