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 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

  1. Installieren Sie IronPDF: pip install ironpdf
  2. Importieren Sie die Bibliothek: from ironpdf import *
  3. Laden Sie Ihre PDF-Datei hoch: pdf = PdfDocument.FromFile("MyPdf.pdf")
  4. Mit Standardeinstellungen PRINTEN: pdf.Print()
  5. 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()
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 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 *
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:

from ironpdf import *

License.LicenseKey = "YOUR-LICENSE-KEY"
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 for Python PdfDocument.FromFile() lädt eine PDF-Datei aus dem Dateisystem in ein PdfDocument-Objekt, das zum Drucken bereit ist

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")
PYTHON

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?

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

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()
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:

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}")
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 die Eigenschaften von PrinterSettings an, darunter PrinterName, FromPage, ToPage und Copies, die in einem Python-Skript festgelegt wurden

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()
PYTHON

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.

TippsUm die Namen der verfügbaren Drucker unter Windows aufzulisten, verwenden Sie [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"])
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 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:

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.

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.5 just released
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.