Jak drukować pliki PDF za pomocą języka Python
Drukowanie plików PDF w Pythonie jest częstym wymogiem w automatyzacji dokumentów — faktury wysyłane do drukarki podczas generowania, etykiety wysyłkowe kolejkowane automatycznie, raporty audytowe wysyłane zgodnie z harmonogramem. IronPDF for Python udostępnia dwie bezpośrednie metody: pdf.Print() do natychmiastowego wydruku na drukarce domyślnej oraz pdf.GetPrintDocument() do pełnej kontroli nad zakresami stron, wyborem drukarki, liczbą kopii i sortowaniem.
Przewodnik ten obejmuje instalację, ładowanie PDFów, domyślne drukowanie i niestandardowe ustawienia drukowania z działającymi przykładami kodu dla każdego.
Szybki start: Drukowanie pliku PDF za pomocą języka Python
- Zainstaluj IronPDF:
pip install ironpdf - Zaimportuj bibliotekę:
from ironpdf import * - Załaduj plik PDF:
pdf = PdfDocument.FromFile("MyPdf.pdf") - PRINT z ustawieniami domyślnymi:
pdf.Print() - Lub najpierw skonfiguruj ustawienia:
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()Jak drukować pliki PDF za pomocą Pythona
- Zainstaluj bibliotekę IronPDF dla Pythona za pomocą pip
- Załaduj istniejący plik PDF za pomocą
PdfDocument.FromFile() - Użyj metody
Print(), aby natychmiast wysłać dokument na domyślną drukarkę - Uzyskaj dostęp do konfigurowalnych ustawień drukowania za pomocą metody
GetPrintDocument() - Wykonaj
Print()na zwróconym obiekciePrintDocument, aby drukować z skonfigurowanymi ustawieniami
Czym jest IronPDF i jak pomaga w drukowaniu PDF?
IronPDF to biblioteka języka Python, która umożliwia programistom generowanie, edycję i konwersję dokumentów PDF. Obsługa drukowania w bibliotece obejmuje dwa wzorce: bezpośredni wydruk na drukarce domyślnej za pomocą pojedynczego wywołania metody oraz dostęp na poziomie dokumentu do PrinterSettings w celu pełnej kontroli nad drukarką.
Dzięki IronPDF, złożoność komunikacji z drukarką jest zarządzana przez bibliotekę. Programiści pracują z API wysokiego poziomu zamiast zarządzać interakcjami bufora wydruku na poziomie systemu operacyjnego, poleceniami subprocess lub narzędziami do drukowania specyficznymi dla danej platformy. Oznacza to, że ten sam kod Pythona działa na Windows, Linux i macOS bez modyfikacji.
Kluczową zdolnością jest możliwość konwersji HTML, CSS i JavaScript do PDF przed drukowaniem — użyteczne, gdy materiał źródłowy to szablon sieciowy lub raport dynamiczny, a nie istniejący plik. Więcej na ten temat w samouczku HTML do PDF. Biblioteka wspiera także scalanie PDFów przed drukowaniem oraz kompresję PDFów, aby skrócić czas transferu spooling dużych dokumentów.
Dlaczego warto wybrać IronPDF do drukowania PDF w Pythonie?
IronPDF dostarcza kompletne API do drukowania, zamiast polegać na zewnętrznych narzędziach jak Ghostscript czy flagi wiersza poleceń programu Adobe Reader. Biblioteka obsługuje renderowanie dokumentów wewnętrznie, co oznacza, że wydruk odpowiada dokładnie temu, co widzimy na ekranie. Obsługa wielu platform, spójny dostęp PrinterSettings oraz brak zależności od lokalnie zainstalowanych przeglądarek plików PDF to główne praktyczne zalety w porównaniu z podejściami opartymi na podprocesach.
Biblioteka jest również szczególnie przydatna, gdy zawartość do wydruku jeszcze nie istnieje jako PDF. Deweloperzy mogą tworzyć PDF z szablonu HTML, dodać nagłówki i stopki, zastosować layout strony z niestandardowymi czcionkami, a potem wysłać wynik bezpośrednio do drukarki - wszystko w jednym skrypcie Pythona. To sprawia, że IronPDF jest odpowiednie do potoków generowania dokumentów do druku, a nie tylko do drukowania istniejących plików.
Jak zainstalować IronPDF for Python?
Pakiet IronPDF jest dostępny na PyPI i instaluje się za pomocą jednego polecenia pip.
pip install ironpdf
Po zainstalowaniu dodaj instrukcję importu na początku swojego skryptu:
from ironpdf import *from ironpdf import *IronPDF wymaga Pythona 3.6 lub nowszego. Pakiet automatycznie pobiera silnik renderujący IronPDF przy pierwszym użyciu, więc początkowy import może zająć chwilę. Dla środowisk z ograniczonym dostępem wychodzącym zobacz przewodnik konfiguracji IronPDF Engine dla opcji konfiguracji offline.
Ustawianie klucza licencyjnego
Dla zastosowań produkcyjnych wymagany jest klucz licencyjny. Ustaw go przed jakimkolwiek innym wywołaniem IronPDF:
from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"from ironpdf import *
License.LicenseKey = "YOUR-LICENSE-KEY"Biblioteka dziala w trybie probnym bez klucza do rozwoju i oceny, ale wyjsciowe pliki PDF beda zawieraly znak wodny wersji probnej. W celu rozwiazywania problemow z instalacja zapoznaj sie z przewodnikiem rozwiazywania problemow z instalacja.
Jak zaladowac plik PDF do drukowania?

Ladowanie PDF z systemu plikow do obiektu PdfDocument za pomoca IronPDF for Python.
IronPDF ładuje pliki PDF z systemu plików przy użyciu PdfDocument.FromFile(). Metoda przyjmuje ciąg znaków ścieżki do pliku i zwraca obiekt PdfDocument gotowy do drukowania, manipulacji lub kontroli.
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")Powyzszy kod pokazuje trzy wzorce ladowania. FromFile() jest najczęściej stosowany w przepływach pracy w systemie plików. FromBytes() jest przydatne, gdy plik PDF jest dostarczany jako dane binarne z zapytania do bazy danych lub odpowiedzi API. Opcjonalny parametr hasła w FromFile() obsługuje zaszyfrowane pliki PDF bez konieczności dodatkowego odszyfrowywania.
Dla PDF-ow pochodzacych z URL-a lub zawartosci HTML, IronPDF moze rowniez zamieniac URL na PDF lub renderowac plik HTML do PDF przed drukowaniem.
Obslugiwane zrodla wejscia
Poza plikami PDF, IronPDF moze tworzyc dokumenty do drukowania z obrazow, ciagow HTML i aktywnych URL-i. Jest to przydatne w procesach drukowania, gdzie zrodlo danych jeszcze nie jest PDF-em — na przyklad, renderowanie szablonu raportu z wykresami na PDF najpierw, a nastepnie wyslanie do drukarki.
Jak drukowac PDF z domyslnymi ustawieniami?

A Python script using IronPDF's `Print()` method sends a PDF job to the system default printer.
Metoda Print() wysyła dokument do domyślnej drukarki systemu przy użyciu domyślnych ustawień strony. Nie jest wymagana dodatkowa konfiguracja.
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()Domyslne ustawienia uzywaja skonfigurowanej domyslnej drukarki systemu, drukuja wszystkie strony, stosuja domyslny rozmiar papieru i orientacje drukarki oraz wysylaja jedna kopie. Jest to wlasciwy wybor dla prostych procesow, gdzie konfiguracja drukarki uzytkownika juz odpowiada wymaganiom dokumentu.
Dla kodu produkcyjnego, owin wykonanie drukowania w obsluge bledow, aby zlapac bledy np. drukarki offline lub uprawnienia:
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}")Komunikat o wyjatku dostarcza szczegolow na poziomie systemu operacyjnego dotyczacych niepowodzenia drukowania — na przyklad, czy drukarka jest offline, czy bufor jest wstrzymany, czy dokument nie zostal wyrenderowany.
Jak dostosowac ustawienia drukowania przed drukowaniem?

IronPDF's `GetPrintDocument()` method returns a PrintDocument object with full access to PrinterSettings properties.
GetPrintDocument() zwraca obiekt PrintDocument, który udostępnia pełny interfejs API PrinterSettings. Umozliwia to wybieranie nazwanej drukarki, ustawianie zakresow stron, kontrolowanie kopii i kolacji oraz konfigurowanie trybu duplex przed wyslaniem zadania.
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()Właściwość PrinterSettings.PrinterName przyjmuje nazwę wyświetlaną drukarki taką, jaka pojawia się na liście drukarek w systemie operacyjnym. W systemie Windows odpowiada to nazwie wyświetlanej w sekcji "Urządzenia i drukarki". W Linuxie odpowiada to nazwie drukarki CUPS. Ustawienie niepoprawnej nazwy drukarki spowoduje, ze zadanie drukowania nie powiedzie sie w czasie wykonania, wiec zweryfikuj nazwe w liscie zainstalowanych drukarek przy tworzeniu dialogow drukowania dla uzytkownika.
[System.Drawing.Printing.PrinterSettings]::InstalledPrinters w PowerShell lub modułu win32print z biblioteki pywin32 w języku Python, aby wyliczyć drukarki programowo.Wybieranie stron i zarzadzanie kopiami
Właściwości FromPage i ToPage definiują zakres stron. Numeracja stron zaczyna się od 1. Ustawienie FromPage = 1 i ToPage = 0 (ustawienie domyślne) powoduje wydrukowanie wszystkich stron. Właściwość Copies przyjmuje liczbę całkowitą; W połączeniu z Collate = True drukarka kompletuje całe zestawy dokumentów przed rozpoczęciem kolejnej kopii — jest to prawidłowe zachowanie w przypadku raportów wielostronicowych.
Batchowe Drukowanie Wielu PDF-ow
W przypadku procesów drukujących kolejkę dokumentów należy przejrzeć listę plików i wywołać Print() dla każdego z nich:
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"])Dla duzo objętosciowych zadan batchowych, rozwaz drukowanie asynchroniczne, aby uniknac blokowania glownego watku, gdy kazde zadanie jest buforowane.
Jakie są kolejne kroki dla drukowania PDF w Pythonie?
W niniejszym przewodniku omówiono dwa podstawowe wzorce drukowania w IronPDF for Python: wydruk na drukarce domyślnej za pomocą pdf.Print() oraz wydruk z ustawieniami niestandardowymi za pomocą pdf.GetPrintDocument(). Obie metody dzialaja na Windows, Linuxie i macOS bez kodu specyficznego dla platformy.
Aby rozszerzyc te wzorce w aplikacji produkcyjnej, rozwaz:
- Wypelnianie formularzy PDF przed drukowaniem, aby tworzyc uzupelnione dokumenty z szablonow
- Dodawanie znakow wodnych lub podpisow cyfrowych przed wyslaniem do drukarki
- Konwersje HTML do PDF dla dynamicznego drukowania raportow z szablonow webowych
- Odczytywanie tekstu z wydrukowanych dokumentow do rejestrow audytowych
Start with a free trial license to test printing in your environment. Opcje licencyjne zaczynają się od $999 dla wdrożeń produkcyjnych.
Pobierz pelny kod zrodlowy uzyty w tym przewodniku.
Często Zadawane Pytania
Jaki jest najszybszy sposób na wydrukowanie pliku PDF w Python?
Najszybszą metodą jest metoda Print() IronPDF. Po zainstalowaniu za pomocą pip install ironpdf, załaduj PDF za pomocą PdfDocument.FromFile('yourfile.pdf') i wywołaj pdf.Print(), aby natychmiast wysłać go na domyślną drukarkę z ustawieniami domyślnymi strony.
Jak wybrać określoną drukarkę przy drukowaniu PDF-ów w Pythonie?
Użyj GetPrintDocument(), aby uzyskać obiekt PrintDocument, następnie ustaw printer_setting.PrinterSettings.PrinterName na nazwę wyświetlaną docelowej drukarki, jak pojawia się na liście drukarek systemu operacyjnego. Na Windows odpowiada to nazwie w Urządzeniach i Drukarkach; na Linux jest to nazwa drukarki CUPS.
Jak drukować tylko określone strony z PDF-a w Pythonie?
Wywołaj pdf.GetPrintDocument(), aby uzyskać obiekt PrintDocument, następnie ustaw printer_setting.PrinterSettings.FromPage i printer_setting.PrinterSettings.ToPage na numery pierwszej i ostatniej strony (pierwsza jest numerem 1). Wywołaj printer_setting.Print(), aby wykonać z tymi ustawieniami.
Czy IronPDF dla Pythona działa na Linux i macOS?
Tak. IronPDF dla Pythona działa na Windows, Linux i macOS. Ten sam kod Pythona działa bez specyficznych modyfikacji dla platform. Na Linux, wybór drukarki używa nazw drukarek CUPS. Instalacja wymaga Pythona 3.6 lub nowszego na wszystkich platformach.
Czy potrzebuję klucza licencyjnego, aby używać funkcji drukowania IronPDF?
Klucz licencyjny jest wymagany do użytku produkcyjnego. Ustaw go za pomocą License.LicenseKey = 'YOUR-LICENSE-KEY' przed jakimkolwiek innym wywołaniem IronPDF. Podczas rozwoju biblioteka działa bez klucza, ale dokumenty wyjściowe będą miały znak wodny wersji próbnej. Bezpłatna licencja próbna jest dostępna do oceny.
Jak drukować wiele plików PDF w partii z Pythonem?
Iteruj listę ścieżek plików, wywołując PdfDocument.FromFile(path) i pdf.Print() dla każdego pliku. Opakuj każdą iterację w blok try-except, aby złapać błędy poszczególnych plików bez zatrzymywania całej partii. Dla zadań o wysokim wolumenie, rozważ asynchroniczne wykonanie, aby uniknąć blokowania głównego wątku.







