Mit Python PDF-Dateien drucken
Das Drucken von PDF-Dateien in Python ist eine gängige Anforderung in Dokumentenautomatisierungs-Workflows — Rechnungen, die beim Erstellen direkt an Drucker gesendet werden, Versandetiketten, die automatisch in die Warteschlange gestellt werden, Auditberichte, die planmäßig versendet werden. IronPDF for Python bietet zwei direkte Methoden: pdf.Print() für die sofortige Ausgabe auf dem Standarddrucker und pdf.GetPrintDocument() für die vollständige Kontrolle über Seitenbereiche, Druckerauswahl, Kopien und Sortierung.
Diese Anleitung behandelt die Installation, das Laden von PDFs, das Standarddruckverfahren und benutzerdefinierte Druckeinstellungen mit funktionierenden Codebeispielen für jedes.
Schnellstart: Drucken einer PDF-Datei mit Python
- Installieren Sie IronPDF:
pip install ironpdf - Importieren Sie die Bibliothek:
from ironpdf import * - Laden Sie Ihre PDF-Datei hoch:
pdf = PdfDocument.FromFile("MyPdf.pdf") - Mit Standardeinstellungen PRINTEN:
pdf.Print() - Oder konfigurieren Sie zuerst die Einstellungen:
printer_setting = pdf.GetPrintDocument()
from ironpdf import *
# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
from ironpdf import *
# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
Wie drucke ich PDF-Dateien mit Python
- Installieren Sie die IronPDF-Bibliothek for Python über pip
- Laden Sie eine vorhandene PDF-Datei mit
PdfDocument.FromFile(). - Verwenden Sie die
Print()Methode, um das Dokument sofort an den Standarddrucker zu senden. - Greifen Sie auf anpassbare Druckeinstellungen mit der Methode
GetPrintDocument()zu. - Führen Sie
Print()auf dem zurückgegebenenPrintDocument-Objekt aus, um mit konfigurierten Einstellungen zu drucken.
Was ist IronPDF und wie hilft es beim Drucken von PDFs?
IronPDF ist eine Python-Bibliothek, die es Entwicklern ermöglicht, PDF-Dokumente zu erzeugen, zu bearbeiten und zu konvertieren. Die Druckunterstützung der Bibliothek umfasst zwei Muster: die direkte Ausgabe auf dem Standarddrucker mit einem einzigen Methodenaufruf und den Zugriff auf PrinterSettings auf Dokumentebene für die vollständige Druckersteuerung.
Mit IronPDF wird die zugrunde liegende Komplexität der Druckerkommunikation von der Bibliothek verwaltet. Entwickler arbeiten mit einer hochrangigen API, anstatt Interaktionen mit dem Druckspooler auf Betriebssystemebene, subprocess-Befehle oder plattformspezifische Druckdienstprogramme zu verwalten. Das bedeutet, dass derselbe Python-Code ohne Änderungen unter Windows, Linux und macOS funktioniert.
Eine Schlüsselfunktion ist die Fähigkeit, HTML, CSS und JavaScript in PDF zu konvertieren, bevor man es ausdruckt - nützlich, wenn das Quellmaterial eine Webvorlage oder ein dynamischer Bericht statt einer bestehenden Datei ist. Mehr dazu im HTML zu PDF Tutorial. Die Bibliothek unterstützt auch das Zusammenführen von PDFs vor dem Drucken und Komprimieren von PDFs, um die Übertragungszeit großer Dokumente an Spools zu verkürzen.
Warum IronPDF für PDF-Druck in Python wählen?
IronPDF bietet eine vollständige Druck-API, anstatt sich auf externe Tools wie Ghostscript oder Adobe Reader-Befehlszeilenoptionen zu verlassen. Die Bibliothek bearbeitet das Rendering der Dokumente intern, wodurch die Druckausgabe dem Onscreen-Ergebnis präzise entspricht. Plattformübergreifende Unterstützung, konsistenter Zugriff auf PrinterSettings und keine Abhängigkeit von lokal installierten PDF-Viewern sind die wichtigsten praktischen Vorteile gegenüber subprozessbasierten Ansätzen.
Die Bibliothek ist auch besonders nützlich, wenn die Inhalte, die gedruckt werden sollen, noch nicht als PDF vorliegen. Entwickler können eine PDF aus einer HTML-Vorlage erstellen, Kopf- und Fußzeilen hinzufügen, ein Seitenlayout mit benutzerdefinierten Schriften anwenden und dann das Ergebnis direkt an den Drucker senden - alles innerhalb eines einzigen Python-Skripts. Dies macht IronPDF geeignet für Dokumentenerstellungs-zu-Druck-Pipelines, nicht nur zum Drucken bestehender Dateien.
Wie installiere ich IronPDF for Python?
Das IronPDF-Paket ist auf PyPI verfügbar und wird mit einem einzigen pip-Befehl installiert.
pip install ironpdf
Nach der Installation fügen Sie die Import-Anweisung oben in Ihrem Skript hinzu:
from ironpdf import *
from ironpdf import *
IronPDF erfordert Python 3.6 oder höher. Das Paket lädt beim ersten Gebrauch automatisch die IronPDF-Rendering-Engine herunter, sodass der erste Import einen Moment dauern kann. Für Umgebungen mit eingeschränktem ausgehendem Zugriff siehe den Konfigurationsleitfaden des IronPDF-Engines für Offline-Setup-Optionen.
Ihren Lizenzschlüssel festlegen
Ein Lizenzschlüssel ist für die Produktion erforderlich. Setzen Sie ihn vor jedem anderen IronPDF-Aufruf:
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
Die Bibliothek arbeitet im Testmodus ohne Schlüssel für Entwicklung und Bewertung, aber die ausgegebenen PDFs enthalten ein Testwasserzeichen. Bei der Fehlerbehebung von Installationsproblemen, konsultieren Sie bitte den Installationsleitfaden zur Fehlerbehebung.
Wie lade ich eine PDF-Datei zum Drucken?

Ein PDF aus dem Dateisystem in ein PdfDocument-Objekt mit IronPDF for Python laden.
IronPDF lädt PDF-Dateien mithilfe von PdfDocument.FromFile() aus dem Dateisystem. Die Methode akzeptiert eine Dateipfad-Zeichenkette und gibt ein PdfDocument-Objekt zurück, das zum PRINTen, Bearbeiten oder Prüfen bereit ist.
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load from a file path
pdf = PdfDocument.FromFile("MyPdf.pdf")
# Load from bytes (e.g., a file read from a database or HTTP response)
with open("MyPdf.pdf", "rb") as f:
pdf_bytes = f.read()
pdf_from_bytes = PdfDocument.FromBytes(pdf_bytes)
# Load a password-protected PDF
protected_pdf = PdfDocument.FromFile("SecurePdf.pdf", "password123")
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load from a file path
pdf = PdfDocument.FromFile("MyPdf.pdf")
# Load from bytes (e.g., a file read from a database or HTTP response)
with open("MyPdf.pdf", "rb") as f:
pdf_bytes = f.read()
pdf_from_bytes = PdfDocument.FromBytes(pdf_bytes)
# Load a password-protected PDF
protected_pdf = PdfDocument.FromFile("SecurePdf.pdf", "password123")
Der oben gezeigte Code demonstriert drei Lademuster. FromFile() ist die gängigste Methode für Dateisystem-Workflows. FromBytes() ist nützlich, wenn die PDF-Datei als Binärdaten aus einer Datenbankabfrage oder einer API-Antwort bereitgestellt wird. Der optionale Passwortparameter in FromFile() verarbeitet verschlüsselte PDF-Dateien ohne zusätzlichen Entschlüsselungsschritt.
Für PDFs, die aus einer URL oder HTML-Inhalten stammen, kann IronPDF auch eine URL in PDF umwandeln oder eine HTML-Datei in PDF rendern, bevor es gedruckt wird.
Eingabequellen Unterstützt
Neben PDF-Dateien kann IronPDF druckbare Dokumente aus Bildern, HTML-Strings und Live-URLs erstellen. Dies ist nützlich in Druck-Workflows, bei denen die Quelldaten noch kein PDF sind — z.B. ein Berichtsvorlage mit Diagrammen zuerst in PDF rendern und dann an den Drucker senden.
Wie drucke ich ein PDF mit den Standard-Einstellungen?

A Python script using IronPDF's `Print()` method sends a PDF job to the system default printer.
Die Methode Print() sendet das Dokument mit den Standardseiteneinstellungen an den Standarddrucker des Systems. Keine zusätzliche Konfiguration erforderlich.
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load the PDF
pdf = PdfDocument.FromFile("invoice.pdf")
# Print to default printer with default settings
pdf.Print()
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
# Load the PDF
pdf = PdfDocument.FromFile("invoice.pdf")
# Print to default printer with default settings
pdf.Print()
Die Standardeinstellungen verwenden den standardmäßig konfigurierten Drucker des Systems, drucken alle Seiten, wenden die eigene Standard-Papiergröße und -Ausrichtung des Druckers an und senden eine Kopie. Dies ist die richtige Wahl für einfache Workflows, bei denen die Druckerkonfiguration des Benutzers bereits den Anforderungen des Dokuments entspricht.
Für Produktionscode wickeln Sie den Druckaufruf in eine Fehlerbehandlung ein, um Drucker-offline- oder Berechtigungsfehler abzufangen:
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
try:
pdf = PdfDocument.FromFile("invoice.pdf")
pdf.Print()
except Exception as e:
print(f"Print job failed: {e}")
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
try:
pdf = PdfDocument.FromFile("invoice.pdf")
pdf.Print()
except Exception as e:
print(f"Print job failed: {e}")
Die Ausnahmemeldung liefert auf OS-Ebene Details zum Druckfehler — zum Beispiel, ob der Drucker offline ist, der Spooler angehalten wurde oder das Dokument nicht gerendert werden konnte.
Wie passe ich die Druckeinstellungen vor dem Drucken an?

IronPDF's `GetPrintDocument()` method returns a PrintDocument object with full access to PrinterSettings properties.
GetPrintDocument() gibt ein PrintDocument-Objekt zurück, das die vollständige PrinterSettings-API bereitstellt. Dies ermöglicht die Auswahl eines benannten Druckers, das Festlegen von Seitenbereichen, das Steuern von Kopien und Collation sowie die Konfiguration des Duplexmodus, bevor der Auftrag gesendet wird.
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
pdf = PdfDocument.FromFile("quarterly-report.pdf")
# Access the PrintDocument object
printer_setting = pdf.GetPrintDocument()
# Select a specific printer by name
printer_setting.PrinterSettings.PrinterName = "HP LaserJet Pro"
# Print only pages 2 through 4
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4
# Print 2 collated copies
printer_setting.PrinterSettings.Copies = 2
printer_setting.PrinterSettings.Collate = True
# Execute the print job
printer_setting.Print()
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
pdf = PdfDocument.FromFile("quarterly-report.pdf")
# Access the PrintDocument object
printer_setting = pdf.GetPrintDocument()
# Select a specific printer by name
printer_setting.PrinterSettings.PrinterName = "HP LaserJet Pro"
# Print only pages 2 through 4
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4
# Print 2 collated copies
printer_setting.PrinterSettings.Copies = 2
printer_setting.PrinterSettings.Collate = True
# Execute the print job
printer_setting.Print()
Die Eigenschaft PrinterSettings.PrinterName akzeptiert den Anzeigenamen des Druckers, wie er in der Druckerliste des Betriebssystems erscheint. Unter Windows entspricht dies dem Namen, der unter "Geräte und Drucker" angezeigt wird. Unter Linux entspricht es dem CUPS-Druckernamen. Das Einstellen eines ungültigen Druckernamens führt dazu, dass der Druckauftrag zur Laufzeit fehlschlägt. Überprüfen Sie daher den Namen in der installierten Druckerliste, wenn Sie benutzerfreundliche Druckdialoge erstellen.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters in PowerShell oder nutzen Sie das Python-Modul win32print aus pywin32, um Drucker programmgesteuert aufzulisten.Seiten auswählen und Kopien verwalten
Die Eigenschaften FromPage und ToPage definieren einen umfassenden Seitenbereich. Die Seitennummerierung beginnt bei 1. Durch die Einstellung von FromPage = 1 und ToPage = 0 (Standard) werden alle Seiten gedruckt. Die Eigenschaft Copies akzeptiert eine Ganzzahl; In Kombination mit Collate = True stellt der Drucker vollständige Sätze des Dokuments zusammen, bevor er mit der nächsten Kopie beginnt – das korrekte Verhalten für mehrseitige Berichte.
Mehrere PDFs im Stapel drucken
Für Workflows, die eine Warteschlange von Dokumenten PRINTEN, durchlaufen Sie die Dateiliste und rufen Sie für jede Datei Print() auf:
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
def batch_print(file_paths):
for path in file_paths:
try:
pdf = PdfDocument.FromFile(path)
pdf.Print()
except Exception as e:
print(f"Failed to print {path}: {e}")
batch_print(["invoice_001.pdf", "invoice_002.pdf", "shipping_label.pdf"])
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"
def batch_print(file_paths):
for path in file_paths:
try:
pdf = PdfDocument.FromFile(path)
pdf.Print()
except Exception as e:
print(f"Failed to print {path}: {e}")
batch_print(["invoice_001.pdf", "invoice_002.pdf", "shipping_label.pdf"])
Für hochvolumige Stapelaufträge erwägen Sie asynchrones Drucken, um den Hauptthread nicht zu blockieren, während jeder Auftrag spult.
Wie sind die nächsten Schritte für das Drucken von PDFs mit Python?
Dieser Leitfaden behandelte die beiden wichtigsten Druckmuster in IronPDF for Python: die Standarddruckerausgabe mit pdf.Print() und die Ausgabe mit benutzerdefinierten Einstellungen mit pdf.GetPrintDocument(). Beide Ansätze funktionieren auf Windows, Linux und macOS ohne plattformabhängige Code.
Um diese Muster in einer Produktionsanwendung zu erweitern, erwägen Sie:
- Ausfüllen von PDF-Formularen vor dem Drucken, um fertige Dokumente aus Vorlagen zu erstellen
- Wasserzeichen hinzufügen oder digitale Signaturen, bevor Sie zum Drucker senden
- Konvertieren von HTML in PDF für dynamisches Berichtsdrücken aus Webvorlagen
- Extrahieren von Text aus gedruckten Dokumenten für Audit-Protokollierung
Start with a free trial license to test printing in your environment. Die Lizenzoptionen beginnen bei $999 für den produktiven Einsatz.
Laden Sie den vollständigen Quellcode herunter, der in diesem Leitfaden verwendet wird.
Häufig gestellte Fragen
Wie kann ich am schnellsten eine PDF-Datei in Python drucken?
Der schnellste Weg ist die ‹code›Print()‹/code›-Methode von IronPDF. Nach der Installation mit ‹code›pip install ironpdf‹/code› laden Sie ein PDF mit ‹code›PdfDocument.FromFile('yourfile.pdf')‹/code› und rufen Sie ‹code›pdf.Print()‹/code› auf, um es sofort mit den Standardseiten-Einstellungen an den Standarddrucker zu senden.
Wie wähle ich einen bestimmten Drucker beim Drucken von PDFs in Python aus?
Verwenden Sie ‹code›GetPrintDocument()‹/code›, um auf das ‹code›PrintDocument‹/code›-Objekt zuzugreifen. Setzen Sie dann ‹code›printer_setting.PrinterSettings.PrinterName‹/code› auf den Anzeigenamen des gewünschten Druckers, wie er in Ihrer OS-Druckerliste erscheint. Auf Windows entspricht dies dem Namen in Geräte und Drucker; auf Linux ist es der CUPS-Druckername.
Wie drucke ich nur bestimmte Seiten eines PDFs in Python?
Rufen Sie ‹code›pdf.GetPrintDocument()‹/code› auf, um das ‹code›PrintDocument‹/code›-Objekt zu erhalten. Setzen Sie dann ‹code›printer_setting.PrinterSettings.FromPage‹/code› und ‹code›printer_setting.PrinterSettings.ToPage‹/code› auf die erste und letzte Seitennummer (1-basiert). Rufen Sie ‹code›printer_setting.Print()‹/code› auf, um mit diesen Einstellungen auszuführen.
Funktioniert IronPDF for Python auf Linux und macOS?
Ja. IronPDF for Python funktioniert auf Windows, Linux und macOS. Der gleiche Python-Code läuft ohne plattformspezifische Änderungen. Auf Linux verwendet die Druckerauswahl CUPS-Druckernamen. Die Installation erfordert Python 3.6 oder höher auf allen Plattformen.
Brauche ich einen Lizenzschlüssel, um die Druckfunktionen von IronPDF zu nutzen?
Ein Lizenzschlüssel ist für die Produktionsnutzung erforderlich. Setzen Sie ihn mit ‹code›License.LicenseKey = 'YOUR-LICENSE-KEY'‹/code›, bevor Sie andere IronPDF-Aufrufe tätigen. Während der Entwicklung läuft die Bibliothek ohne Schlüssel, aber Ausgabedokumente tragen ein Testwasserzeichen. Eine kostenlose Testlizenz ist zur Bewertung verfügbar.
Wie drucke ich mehrere PDF-Dateien in einem Batch mit Python?
Schleifen Sie durch eine Liste von Dateipfaden, indem Sie ‹code›PdfDocument.FromFile(path)‹/code› und ‹code›pdf.Print()‹/code› für jede Datei aufrufen. Wickeln Sie jede Iteration in einen try-except-Block, um dateiweise Fehler abzufangen, ohne den gesamten Batch zu stoppen. Für hohe Auftragsvolumen sollten Sie asynchrone Ausführung in Betracht ziehen, um den Hauptthread nicht zu blockieren.

