How To Print PDF Files Using Python

Jak drukować pliki PDF za pomocą języka Python

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

Aby drukować pliki PDF w Pythonie, użyj biblioteki IronPDF, która zapewnia proste metody jak pdf.Print() do domyślnego drukowania lub pdf.GetPrintDocument() do dostosowywania ustawień drukowania, w tym zakresów stron i wyboru drukarki.

Szybki start: Drukowanie pliku PDF za pomocą języka Python

  1. Zainstaluj IronPDF: pip install ironpdf
  2. Zaimportuj bibliotekę: from ironpdf import *
  3. Wczytaj swój PDF: pdf = PdfDocument.FromFile("MyPdf.pdf")
  4. Drukuj z domyślnymi ustawieniami: pdf.Print()
  5. Lub dostosuj ustawienia: printer_setting = pdf.GetPrintDocument()
:title=Quickstart Print PDF
from ironpdf import *

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

# Load and print PDF immediately
pdf = PdfDocument.FromFile("report.pdf")
pdf.Print()
:title=Quickstart Print PDF
from ironpdf import *

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

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

Dlaczego drukowanie plików PDF w języku Python jest niezbędne?

Drukowanie plików PDF w języku Python jest niezbędne dla programistów pracujących z dokumentami w sposób niezależny od platformy. Pliki PDF są powszechnie używane do przechowywania i dystrybucji plików, co czyni je kluczowymi dla aplikacji w języku Python związanych z zarządzaniem dokumentami lub przepływami pracy.

Python oferuje kilka metod generowania i drukowania plików PDF, a jednym z podejść jest wykorzystanie bibliotek zawierających klasy zaprojektowane specjalnie do tworzenia i edycji dokumentów PDF. Ten przewodnik skupia się na wykorzystaniu biblioteki IronPDF do generowania i drukowania plików PDF w skryptach Pythona. Niezależnie od tego, czy tworzysz pliki PDF od podstaw, czy pracujesz z istniejącymi dokumentami, IronPDF zapewnia narzędzia niezbędne do profesjonalnego drukowania.

Dlaczego PDF jest preferowanym formatem do druku?

Format PDF (Portable Document Format) zachowuje spójne formatowanie na różnych platformach i drukarkach, co czyni go idealnym wyborem do drukowania dokumentów. W przeciwieństwie do innych formatów, które mogą wyświetlać się różnie na różnych systemach, pliki PDF zachowują czcionki, układy i grafikę dokładnie tak, jak to zamierzano. Ta spójność ma kluczowe znaczenie w przypadku dokumentów biznesowych, formularzy prawnych i profesjonalnych raportów, w których liczy się precyzyjne formatowanie.

Kiedy warto drukować pliki PDF programowo?

Programowe drukowanie plików PDF jest niezbędne w różnych sytuacjach: przetwarzaniu zbiorczym faktur, automatycznym generowaniu raportów, planowej dystrybucji dokumentów oraz integracji z procesami biznesowymi. Na przykład platformy e-commerce często muszą automatycznie drukować etykiety wysyłkowe, podczas gdy systemy księgowe mogą wymagać masowego drukowania sprawozdań finansowych. IronPDF sprawia, że zadania te przebiegają płynnie, zapewniając zarówno proste, jak i zaawansowane funkcje drukowania.

Jakie są typowe wyzwania związane z drukowaniem plików PDF?

Programiści często stają przed wyzwaniami, takimi jak zarządzanie ustawieniami drukarki w różnych systemach operacyjnych, wydajna obsługa dużych zadań drukowania, radzenie sobie z niestandardowymi rozmiarami i orientacją stron oraz zapewnienie, że jakość wydruku odpowiada wyglądowi na ekranie. IronPDF odpowiada na te wyzwania, oferując ujednolicony interfejs API, który działa spójnie na różnych platformach.


Czym jest IronPDF i w jaki sposób może pomóc?

IronPDF to biblioteka języka Python, która umożliwia programistom generowanie, edycję i konwersję dokumentów PDF. Zainspirowana biblioteką IronPDF C# .NET, oferuje szeroki zakres funkcji dostosowanych do ekosystemu Python. Biblioteka doskonale radzi sobie z konwersją HTML do PDF przy zachowaniu idealnego formatowania.

Dzięki IronPDF programiści mogą korzystać z API wysokiego poziomu, które upraszcza pracę z plikami PDF, eliminując konieczność zajmowania się zawiłościami niskiego poziomu. Zapewnia wygodne metody do typowych operacji na plikach PDF, w tym tworzenia nowych dokumentów, dodawania treści, formatowania tekstu, łączenia i dzielenia plików PDF.

Kluczową funkcją IronPDF jest możliwość konwersji kodu HTML, CSS i JavaScript do formatu PDF. Ta funkcja umożliwia generowanie plików PDF ze stron internetowych lub szablonów HTML. Ponadto IronPDF obsługuje drukowanie dokumentów PDF, co zwiększa jego wszechstronność i użyteczność. W plikach PDF można nawet renderować wykresy i treści interaktywne.

Dlaczego warto wybrać IronPDF zamiast innych bibliotek?

IronPDF zapewnia kompletny zestaw funkcji, w tym zaawansowane możliwości drukowania, silnik renderowania HTML/CSS oparty na przeglądarce Chrome, pełną obsługę nowoczesnych standardów internetowych oraz płynną integrację z istniejącymi procesami pracy w języku Python. W przeciwieństwie do podstawowych bibliotek PDF, IronPDF obsługuje złożone układy, niestandardowe czcionki i renderowanie JavaScript.

Jakie są kluczowe funkcje IronPDF?

Kluczowe funkcje obejmują konwersję HTML do PDF z zachowaniem pełnej wierności, edycję plików PDF (łączenie, dzielenie, wyodrębnianie stron), wypełnianie i tworzenie formularzy, podpisy cyfrowe i szyfrowanie, dodawanie znaków wodnych i stempli oraz kompleksowe opcje drukowania. Biblioteka obsługuje również kompresję plików PDF w celu optymalizacji rozmiarów plików do drukowania.

Jak IronPDF wypada na tle alternatywnych rozwiązań?

Chociaż istnieją inne biblioteki PDF dla języka Python, IronPDF oferuje doskonałe renderowanie HTML, bardziej rozbudowane opcje drukowania, lepszą kompatybilność między platformami oraz dokumentację wraz z profesjonalnym wsparciem. Możliwość obsługi złożonych dokumentów i precyzyjna kontrola drukowania sprawiają, że jest to preferowany wybór dla aplikacji Enterprise.

Jak zainstalować IronPDF za pomocą Pip?

Bibliotekę IronPDF można łatwo dodać do projektu w języku Python za pomocą pip. Aby zainstalować IronPDF za pomocą pip, należy użyć poniższego polecenia:

pip install ironpdf

Dodaj pakiet IronPDF, używając następującego kodu:

from ironpdf import *

# Optional: Configure IronPdfEngine for better performance
# Learn more at: https://ironpdf.com/python/get-started/use-ironpdfengine/
from ironpdf import *

# Optional: Configure IronPdfEngine for better performance
# Learn more at: https://ironpdf.com/python/get-started/use-ironpdfengine/
PYTHON

Jakie są wymagania systemowe?

IronPDF for Python wymaga systemu Python 3.6 lub nowszego i działa na platformach Windows, Linux oraz macOS. Biblioteka automatycznie pobiera niezbędne zależności podczas instalacji. W środowiskach produkcyjnych należy zapewnić wystarczającą ilość pamięci do przetwarzania dużych plików PDF oraz odpowiednią ilość miejsca na dysku na pliki tymczasowe. W razie potrzeby można skonfigurować ścieżkę do plików tymczasowych.

Jak sprawdzić instalację?

Po instalacji sprawdź, czy IronPDF działa poprawnie, uruchamiając prosty skrypt testowy. W przypadku problemów z instalacją zapoznaj się z przewodnikiem rozwiązywania problemów, aby znaleźć typowe rozwiązania. Biblioteka wymaga odpowiedniej licencji do użytku produkcyjnego.

Jak załadować plik PDF do druku?

IronPDF for Python oferuje wygodną funkcję, która pozwala na wczytanie treści pliku PDF do kodu. Ta funkcja akceptuje różne prawidłowe argumenty, takie jak tablica bajtów lub ścieżka do pliku. Jeśli pracujesz z dokumentami chronionymi hasłem, możesz również podać drugi parametr, aby określić hasło. W bardziej złożonych sytuacjach można pracować z zaszyfrowanymi plikami PDF, korzystając z funkcji zabezpieczeń IronPDF.

Poniższy fragment kodu pokazuje, jak załadować plik PDF znajdujący się w systemie plików:

# Set your license key to use IronPDF
License.LicenseKey = "Enter-Your-License"

# Load the PDF file from the filesystem
pdf = PdfDocument.FromFile("MyPdf.pdf")

# Load from different sources
# From bytes
with open("MyPdf.pdf", "rb") as file:
    pdf_bytes = file.read()
    pdf_from_bytes = PdfDocument.FromBytes(pdf_bytes)

# From password-protected file
protected_pdf = PdfDocument.FromFile("SecurePdf.pdf", "password123")
# Set your license key to use IronPDF
License.LicenseKey = "Enter-Your-License"

# Load the PDF file from the filesystem
pdf = PdfDocument.FromFile("MyPdf.pdf")

# Load from different sources
# From bytes
with open("MyPdf.pdf", "rb") as file:
    pdf_bytes = file.read()
    pdf_from_bytes = PdfDocument.FromBytes(pdf_bytes)

# From password-protected file
protected_pdf = PdfDocument.FromFile("SecurePdf.pdf", "password123")
PYTHON

Jakie formaty plików mogę załadować?

IronPDF obsługuje przede wszystkim pliki PDF, ale może również tworzyć pliki PDF z różnych źródeł, w tym plików HTML, obrazów i adresów URL. Biblioteka obsługuje ładowanie standardowych wersji PDF i może obsługiwać złożone dokumenty zawierające formularze, adnotacje i treści osadzone.

Jak postępować z plikami PDF chronionymi hasłem?

Podczas pracy z plikami PDF chronionymi hasłem, podaj hasło jako drugi parametr metody FromFile. IronPDF obsługuje zarówno hasła użytkowników, jak i właścicieli. Aby zwiększyć bezpieczeństwo operacji, zapoznaj się z hasłami i funkcjami bezpieczeństwa.

Co zrobić, jeśli mój plik PDF zaginął lub jest uszkodzony?

Zawsze należy wdrażać obsługę błędów podczas ładowania plików PDF. Przed załadowaniem sprawdź, czy plik istnieje, i użyj bloków try-except, aby wychwycić potencjalne błędy. W przypadku problemów z ładowaniem należy zapoznać się z przewodnikiem dotyczącym rozwiązywania problemów związanych z nieokreślonym modułem.

Jak wydrukować dokument PDF przy użyciu ustawień domyślnych?

IronPDF oferuje dwa sposoby drukowania plików PDF. Pierwsza metoda pozwala na natychmiastowe wydrukowanie dokumentu przy użyciu domyślnych ustawień drukarki i strony. Możesz to osiągnąć, używając metody Print():

# Print the PDF using default settings
pdf.Print()

# Example with error handling
try:
    # Load and print PDF
    pdf = PdfDocument.FromFile("invoice.pdf")
    pdf.Print()
    print("Document sent to printer successfully")
except Exception as e:
    print(f"Printing failed: {e}")
# Print the PDF using default settings
pdf.Print()

# Example with error handling
try:
    # Load and print PDF
    pdf = PdfDocument.FromFile("invoice.pdf")
    pdf.Print()
    print("Document sent to printer successfully")
except Exception as e:
    print(f"Printing failed: {e}")
PYTHON

Jakie są domyślne ustawienia drukowania?

Domyślne ustawienia drukowania zazwyczaj obejmują: drukowanie wszystkich stron, użycie domyślnej drukarki systemowej, standardowy rozmiar papieru (zwykle Letter lub A4), orientację pionową, normalne ustawienia jakości oraz drukowanie jednostronne. Te domyślne ustawienia sprawdzają się w większości standardowych zadań związanych z drukowaniem, ale w razie potrzeby można je dostosować.

Jak sprawdzić, czy drukowanie zakończyło się powodzeniem?

Podczas gdy metoda Print() wysyła dokument do kolejki drukarki, weryfikacja pomyślnego drukowania fizycznego wymaga sprawdzenia statusu drukarki przez system operacyjny. Należy wdrożyć odpowiednią obsługę wyjątków w celu wychwycenia wszelkich błędów drukowania i zapewnienia odpowiedniej informacji zwrotnej dla użytkownika.

Jak dostosować ustawienia drukowania?

Inną opcją jest zapewnienie użytkownikom możliwości dostosowania opcji drukowania przed rozpoczęciem procesu drukowania. Wykorzystując metodę GetPrintDocument, możesz uzyskać dostęp do ustawień drukowania i je modyfikować. Ta metoda zwróci obiekt PrintDocument, dając Ci dostęp do jego atrybutu PrinterSettings, który pozwala dostosować żądane ustawienia:

# Access and modify the print settings
printer_setting = pdf.GetPrintDocument()

# Set the range of pages to print
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4

# Select specific printer
printer_setting.PrinterSettings.PrinterName = "HP LaserJet Pro"

# Set number of copies
printer_setting.PrinterSettings.Copies = 2

# Configure collation
printer_setting.PrinterSettings.Collate = True

# Print with the customized settings
printer_setting.Print()
# Access and modify the print settings
printer_setting = pdf.GetPrintDocument()

# Set the range of pages to print
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4

# Select specific printer
printer_setting.PrinterSettings.PrinterName = "HP LaserJet Pro"

# Set number of copies
printer_setting.PrinterSettings.Copies = 2

# Configure collation
printer_setting.PrinterSettings.Collate = True

# Print with the customized settings
printer_setting.Print()
PYTHON

Jakie ustawienia drukowania mogę dostosować?

IronPDF umożliwia dostosowanie wielu ustawień drukowania, w tym: zakresu stron (określone strony lub zakresy), wyboru drukarki według nazwy, liczby kopii, opcji sortowania, rozmiaru i źródła papieru, jakości druku (wersja robocza, normalna, wysoka), drukowania w kolorze lub w skali szarości oraz opcji drukowania dwustronnego. Te ustawienia zapewniają pełną kontrolę nad procesem drukowania.

Jak wybrać konkretną drukarkę?

Aby wybrać konkretną drukarkę, uzyskaj dostęp do właściwości PrinterName obiektu PrinterSettings. Można wyliczyć dostępne drukarki w systemie i programowo wybrać odpowiednią. Jest to szczególnie przydatne w środowiskach z wieloma drukarkami lub podczas kierowania różnych typów dokumentów do określonych drukarek.

A co z drukowaniem dwustronnym i orientacją strony?

Do drukowania dwustronnego i kontroli orientacji używaj odpowiednich właściwości w PrinterSettings. Ustaw tryb dupleksu do drukowania dwustronnego i skonfiguruj orientację poziomą lub pionową w zależności od wymagań dokumentu. Te zaawansowane ustawienia zapewniają optymalne wykorzystanie papieru i prawidłową prezentację dokumentu.

Gdzie mogę znaleźć pełny kod źródłowy?

Poniżej znajduje się kompletny plik źródłowy użyty w tym poradniku:

from ironpdf import *

# Set your license key to use IronPDF
License.LicenseKey = "Enter-Your-License"

# Load the PDF file from the filesystem
pdf = PdfDocument.FromFile("MyPdf.pdf")

# Method 1: Print the PDF using default settings
pdf.Print()

# Method 2: Customize print settings
printer_setting = pdf.GetPrintDocument()

# Set the range of pages to print
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4

# Additional customization examples
printer_setting.PrinterSettings.PrinterName = "Your Printer Name"
printer_setting.PrinterSettings.Copies = 1
printer_setting.PrinterSettings.Collate = True

# Print the document with the customized settings
printer_setting.Print()

# Example: Batch printing with error handling
def batch_print_pdfs(pdf_files):
    for file_path in pdf_files:
        try:
            pdf = PdfDocument.FromFile(file_path)
            pdf.Print()
            print(f"Printed: {file_path}")
        except Exception as e:
            print(f"Failed to print {file_path}: {e}")

# Example usage
# batch_print_pdfs(["invoice1.pdf", "invoice2.pdf", "report.pdf"])
from ironpdf import *

# Set your license key to use IronPDF
License.LicenseKey = "Enter-Your-License"

# Load the PDF file from the filesystem
pdf = PdfDocument.FromFile("MyPdf.pdf")

# Method 1: Print the PDF using default settings
pdf.Print()

# Method 2: Customize print settings
printer_setting = pdf.GetPrintDocument()

# Set the range of pages to print
printer_setting.PrinterSettings.FromPage = 2
printer_setting.PrinterSettings.ToPage = 4

# Additional customization examples
printer_setting.PrinterSettings.PrinterName = "Your Printer Name"
printer_setting.PrinterSettings.Copies = 1
printer_setting.PrinterSettings.Collate = True

# Print the document with the customized settings
printer_setting.Print()

# Example: Batch printing with error handling
def batch_print_pdfs(pdf_files):
    for file_path in pdf_files:
        try:
            pdf = PdfDocument.FromFile(file_path)
            pdf.Print()
            print(f"Printed: {file_path}")
        except Exception as e:
            print(f"Failed to print {file_path}: {e}")

# Example usage
# batch_print_pdfs(["invoice1.pdf", "invoice2.pdf", "report.pdf"])
PYTHON

Jak radzić sobie z błędami drukowania?

Wprowadź kompleksową obsługę błędów, stosując bloki try-except wokół operacji drukowania. Typowe błędy to: drukarka w trybie offline, niewystarczające uprawnienia, nieprawidłowy zakres stron oraz brak sterowników drukarki. Odpowiednio rejestruj błędy i dostarczaj użytkownikom sensowne informacje zwrotne na temat konkretnych napotkanych problemów.

Jakie są najlepsze praktyki dotyczące użytkowania produkcyjnego?

W środowiskach produkcyjnych warto rozważyć wdrożenie systemu kolejki wydruków do zarządzania dużymi ilościami, monitorowanie stanu drukarki przed wysłaniem zadań, wdrożenie logiki ponownych prób w przypadku nieudanych wydruków, rejestrowanie wszystkich operacji drukowania na potrzeby ścieżek audytu oraz sprawdzanie integralności plików PDF przed wydrukowaniem. Warto też rozważyć użycie operacji asynchronicznych, żeby poprawić wydajność przy wielu zadaniach drukowania.

Jakie są najważniejsze wnioski?

Podsumowując, IronPDF to praktyczna biblioteka, która upraszcza drukowanie plików PDF w aplikacjach napisanych w języku Python. Dzięki zestawowi funkcji i dokumentacji IronPDF umożliwia użytkownikom generowanie i dostosowywanie wysokiej jakości plików PDF, które można łatwo drukować lub udostępniać. Niezależnie od tego, czy potrzebujesz tworzyć faktury, raporty czy jakikolwiek inny rodzaj dokumentu, IronPDF zapewnia niezbędne narzędzia.

Możliwości drukowania biblioteki wykraczają poza podstawową funkcjonalność, oferując precyzyjną kontrolę nad każdym aspektem procesu drukowania. Od prostych, jednowierszowych poleceń drukowania po złożone, dostosowane do potrzeb użytkownika procesy drukowania — IronPDF dostosowuje się do konkretnych wymagań. W połączeniu z innymi funkcjami, takimi jak formularze PDF, znaki wodne i podpisy cyfrowe, stanowi kompletne rozwiązanie do obsługi plików PDF.

Wypróbuj bezpłatną wersję próbną IronPDF do testowania w środowisku produkcyjnym. Ceny IronPDF zaczynają się od $799. Try it with the trial license, and see how it streamlines your PDF printing workflow.

Pobierz oprogramowanie.

Co powinienem wypróbować dalej?

Po opanowaniu drukowania plików PDF zapoznaj się z innymi funkcjami IronPDF, takimi jak konwersja plików PDF na obrazy, wyodrębnianie tekstu z plików PDF lub dodawanie nagłówków i stopek do dokumentów. Zapoznaj się z przeglądem dokumentacji, aby uzyskać dostęp do bardziej zaawansowanych samouczków.

Gdzie mogę uzyskać pomoc?

Jeśli napotkasz jakiekolwiek problemy lub potrzebujesz pomocy, zapoznaj się z przewodnikami dotyczącymi rozwiązywania problemów, aby znaleźć typowe rozwiązania. Zespół IronPDF zapewnia profesjonalne wsparcie dla licencjonowanych użytkowników, a dokumentacja i przykłady kodu są dostępne na stronie internetowej produktu. Bądź na bieżąco z najnowszymi funkcjami i ulepszeniami dzięki dziennikowi zmian.

Często Zadawane Pytania

What is the quickest way to print a PDF file in Python?

The quickest way to print a PDF in Python is using IronPDF's simple Print() method. After installing IronPDF with pip install ironpdf, you can load a PDF with PdfDocument.FromFile('yourfile.pdf') and print it immediately using pdf.Print(). This uses default printer settings for instant printing.

Jak dostosować ustawienia drukarki podczas drukowania plików PDF w języku Python?

IronPDF umożliwia dostosowanie ustawień drukarki za pomocą metody GetPrintDocument(). Daje to kontrolę nad zakresami stron, wyborem drukarki i innymi ustawieniami drukowania. Wystarczy wywołać printer_setting = pdf.GetPrintDocument(), aby uzyskać dostęp do tych zaawansowanych opcji drukowania i zmodyfikować je przed wysłaniem dokumentu do druku.

Dlaczego do drukowania programowego warto używać formatu PDF zamiast innych formatów plików?

PDF jest preferowanym formatem do drukowania, ponieważ zachowuje spójne formatowanie na wszystkich platformach i drukarkach. W przeciwieństwie do innych formatów, pliki PDF zachowują czcionki, układy i grafikę dokładnie tak, jak zamierzano, co ma kluczowe znaczenie w przypadku dokumentów biznesowych i profesjonalnych raportów. IronPDF zapewnia zachowanie tej spójności podczas drukowania programowego.

W jakich głównych sytuacjach programowe drukowanie plików PDF jest korzystne?

Programowe drukowanie plików PDF za pomocą IronPDF jest niezbędne do przetwarzania partii faktur, automatycznego generowania raportów, planowej dystrybucji dokumentów oraz integracji procesów biznesowych. Platformy e-commerce mogą automatycznie drukować etykiety wysyłkowe, a systemy księgowe mogą drukować zbiorczo sprawozdania finansowe — wszystko to odbywa się płynnie dzięki możliwościom drukowania IronPDF.

W jaki sposób IronPDF radzi sobie z wyzwaniami związanymi z drukowaniem międzyplatformowym?

IronPDF rozwiązuje typowe problemy związane z drukowaniem, zapewniając ujednolicony interfejs API, który działa spójnie w różnych systemach operacyjnych. Obsługuje zarządzanie ustawieniami drukarki, wydajne zadania drukowania wsadowego, niestandardowe rozmiary i orientacje stron oraz zapewnia, że jakość wydruku odpowiada wyglądowi na ekranie, eliminując problemy z drukowaniem specyficzne dla danej platformy.

Czy potrzebuję licencji, aby korzystać z funkcji drukowania plików PDF w języku Python?

Tak, IronPDF wymaga klucza licencyjnego do użytku produkcyjnego. Można go ustawić w kodzie za pomocą License.LicenseKey = 'YOUR-LICENSE-KEY'. Chociaż podczas tworzenia aplikacji można testować możliwości drukowania biblioteki, do zastosowań komercyjnych potrzebna jest ważna licencja, aby odblokować wszystkie funkcje bez znaków wodnych.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu?
Uruchom przykład i zobacz, jak Twój kod HTML zamienia się w plik PDF.