Wie man PDF-Dateien mit Python druckt

Mit Python PDF-Dateien drucken

This article was translated from English: Does it need improvement?
Translated
View the article in English

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 unmittelbare Ausgabe auf den Standarddrucker und pdf.GetPrintDocument() für vollständige Kontrolle über Seitenbereiche, Druckerauswahl, Kopien und Zusammenstellung.

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

  1. Installieren Sie IronPDF: pip install ironpdf
  2. Importieren Sie die Bibliothek: from ironpdf import *
  3. Laden Sie Ihr PDF: pdf = PdfDocument.FromFile("MyPdf.pdf")
  4. Drucken Sie mit den Standardeinstellungen: pdf.Print()
  5. Oder konfigurieren Sie die Einstellungen zuerst: printer_setting = pdf.GetPrintDocument()
:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-1.py
from ironpdf import *

# Apply license key
License.LicenseKey = "YOUR-LICENSE-KEY"

# Load and print immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
PYTHON

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 deckt zwei Muster ab: direkte Ausgabe auf den Standarddrucker mit einem einzigen Methodenaufruf und Zugriff auf Dokumentebene für PrinterSettings für völlige Druckersteuerung.

Mit IronPDF wird die zugrunde liegende Komplexität der Druckerkommunikation von der Bibliothek verwaltet. Entwickler arbeiten mit einer High-Level-API, anstatt OS-Level-Druckspooler-Interaktionen, 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 wesentlichen praktischen Vorteile gegenüber Subprozess-basierten 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:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-3.py
from ironpdf import *
PYTHON

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:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-4.py
from ironpdf import *

License.LicenseKey = "YOUR-LICENSE-KEY"
PYTHON

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?

IronPDF Python PdfDocument.FromFile() lädt ein PDF aus dem Dateisystem in ein PdfDocument-Objekt, das bereit zum Drucken ist

Ein PDF aus dem Dateisystem in ein PdfDocument-Objekt mit IronPDF for Python laden.

IronPDF lädt PDF-Dateien vom Dateisystem mit PdfDocument.FromFile(). Die Methode akzeptiert eine Dateipfadzeichenkette und gibt ein PdfDocument-Objekt zurück, das bereit zum Drucken, Manipulieren oder Überprüfen ist.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-5.py
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")
PYTHON

Der oben gezeigte Code demonstriert drei Lademuster. FromFile() ist am gebräuchlichsten für Dateisystem-Workflows. FromBytes() ist nützlich, wenn das PDF als Binärdaten aus einer Datenbankabfrage oder API-Antwort eintrifft. Der optionale Passwortparameter in FromFile() verwaltet verschlüsselte PDFs 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.


Icon Quote related to Eingabequellen Unterstützt

Meine Lieblingsbibliothek dieser Art ist IronPDF. Es ermöglicht eine schnelle und effiziente Bearbeitung von PDF-Dateien. Es verfügt auch über viele wertvolle Funktionen, wie das Exportieren in das PDF/A-Format und das digitale Signieren von PDF-Dokumenten.

Milan Jovanovic related to Eingabequellen Unterstützt

Milan Jovanovic

Microsoft MVP

Fallstudie ansehen
Icon Quote related to Eingabequellen Unterstützt

IronOCR bedeutet, dass wir jährlich 40.000 $ durch manuelle Verarbeitung einsparen können, während die Produktivität gesteigert wird und Ressourcen für wichtige Aufgaben freigesetzt werden. Ich würde es sehr empfehlen.

Brent Matzelle related to Eingabequellen Unterstützt

Brent Matzelle

Technischer Leiter, OPYN

Fallstudie ansehen
Icon Quote related to Eingabequellen Unterstützt

Die Iron Suite spielt eine entscheidende Rolle in unseren Operationen. Diese Werkzeuge erhöhen die Effizienz im gesamten Unternehmen, einschließlich der Erstellung von Grundrissen und der Verbesserung des Bestandsmanagements.

David Jones related to Eingabequellen Unterstützt

David Jones

Leitender Software-Ingenieur, Agorus Build

Fallstudie ansehen

Wie drucke ich ein PDF mit den Standard-Einstellungen?

Python-Skript, das pdf.Print() aufruft, wobei der resultierende Druckauftrag in der Windows-Druckwarteschlange sichtbar ist

Ein Python-Skript, das die `Print()`-Methode von IronPDF verwendet, um einen PDF-Auftrag an den Standarddrucker des Systems zu senden.

Die Methode Print() sendet das Dokument mit den Standardseiteneinstellungen an den Standarddrucker des Systems. Keine zusätzliche Konfiguration erforderlich.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-6.py
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()
PYTHON

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:

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-7.py
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}")
PYTHON

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 Python GetPrintDocument() zeigt PrinterSettings-Eigenschaften einschließlich PrinterName, FromPage, ToPage und Copies, die in einem Python-Skript festgelegt sind

Die `GetPrintDocument()`-Methode von IronPDF gibt ein PrintDocument-Objekt mit vollständigem Zugriff auf die Druckeinstellungen-Eigenschaften zurück.

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.

:path=/static-assets/ironpdf-python/content-code-examples/how-to/python-print-pdf-8.py
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()
PYTHON

Die Eigenschaft PrinterSettings.PrinterName akzeptiert den Anzeigenamen des Druckers, wie er in der Druckerliste des Betriebssystems erscheint. Unter Windows stimmt dies mit dem Namen überein, 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.

TippsUm verfügbare Druckernamen unter Windows aufzulisten, verwenden Sie [System.Drawing.Printing.PrinterSettings]::InstalledPrinters in PowerShell, oder verwenden Sie das Python-Modul win32print von pywin32, um Drucker programmgesteuert aufzulisten.

Seiten auswählen und Kopien verwalten

Die Eigenschaften FromPage und ToPage definieren einen inkludierten Seitenbereich. Die Seitenzählung beginnt bei 1. Wenn Sie FromPage = 1 und ToPage = 0 (der Standard) setzen, werden alle Seiten gedruckt. Die Eigenschaft Copies akzeptiert eine ganze Zahl; 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 Mehrseitenberichte.

Mehrere PDFs im Stapel drucken

Für Workflows, die eine Warteschlange von Dokumenten drucken, durchlaufen Sie die Dateiliste und rufen Sie Print() für jede 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"])
PYTHON

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 Kern-Druckmuster in IronPDF for Python: Standarddrucker-Ausgabe mit pdf.Print() und 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:

Beginnen Sie mit einer kostenlosen Testlizenz, um das Drucken in Ihrer Umgebung zu testen. Lizenzierungsoptionen beginnen bei $999 für die Produktionsbereitstellung.

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.

Curtis Chau
Technischer Autor

Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender ...

Weiterlesen
Bereit anzufangen?
Version: 2026.6 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.