Python Tworzenie Plików PDF

Jak tworzyć pliki PDF w języku Python

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

Twórz pliki PDF w Pythonie za pomocą IronPDF, konwertując ciągi HTML, pliki HTML lub adresy URL na dokumenty PDF przy użyciu zaledwie kilku linii kodu. IronPDF automatycznie obsługuje renderowanie, formatowanie i funkcje bezpieczeństwa.

Quickstart: Utwórz PDF w Pythonie

:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/quickstart.py
# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
# 1. Install IronPDF: pip install ironpdf
# 2. Import the library
from ironpdf import *
# 3. Create renderer
renderer = ChromePdfRenderer()
# 4. Convert HTML to PDF
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1>")
# 5. Save the PDF
pdf.SaveAs("output.pdf")
PYTHON

Automatyzacja tworzenia plików PDF w Pythonie pozwala deweloperom generować dokumenty programistycznie: faktury, raporty, umowy i certyfikaty, bez opuszczania aplikacji. Tradycyjnie wymagało to balansowania silników układu i specyfikacji formatowania, ale podejście HTML-first IronPDF oznacza, że każdy dokument HTML/CSS staje się pikselowo dokładnym PDF-em za pomocą jednego wywołania metody.

Ten przewodnik obejmuje cztery główne przepływy tworzenia PDF w IronPDF dla Pythona: konwersję ciągu HTML, konwersję lokalnego pliku HTML, konwersję adresu URL i zastosowanie ochrony hasłem przed eksportem.

Jakiej biblioteki Python powinienem użyć do tworzenia PDF?

IronPDF to biblioteka Pythona specjalnie stworzona do tworzenia dokumentów PDF z HTML. Jego API jest proste: podaj znaczniki HTML (lub ścieżkę do pliku lub adres URL) i otrzymaj obiekt PdfDocument, który możesz zapisać, opatrzyć stemplem, scalić lub zaszyfrować.

Biblioteka opakowuje sprawdzony silnik renderowania IronPDF's .NET, ten sam używany w projektach .NET, Java i Node.js, więc wyjście HTML-do-PDF jest spójne na różnych platformach. Obsługuje nowoczesne standardy sieciowe, w tym CSS3, HTML5, wykonywanie JavaScript, czcionki webowe i layouty responsywne.

Poza generowaniem PDF, IronPDF obejmuje cały cykl życia PDF:

Zwróć uwagęIronPDF jest dostępny dla .NET, Java, Python i Node.js. Ten przewodnik obejmuje specjalnie implementację Python.

Jakie wymagania wstępne muszę spełnić przed tworzeniem PDFów?

Aby użyć IronPDF dla Pythona, muszą być zainstalowane następujące oprogramowanie:

  1. .NET 6.0 SDK: IronPDF for Python działa w oparciu o bibliotekę IronPDF .NET. Pobierz ją z oficjalnej strony pobierania Microsoft .NET 6.0.
  2. Python 3.x: Pobierz i zainstaluj Python z oficjalnej strony internetowej Python. Podczas instalacji wybierz opcję dodania języka Python do ścieżki PATH.
  3. pip: Dołączone do Pythona 3.4+. Sprawdź instalację, uruchamiając pip --version w terminalu.
  4. IronPDF: Zainstaluj bibliotekę za pomocą pip:
pip install ironpdf

Zwróć uwagęNa niektorych systemach, Python 2.x może być nadal domyslna wersja. W takich przypadkach należy użyć pip3 zamiast pip, aby zainstalować pakiet Python 3. Jeśli napotkasz błędy instalacji, odwołaj się do naszego przewodnika rozwiązywania problemów z OSError.

Jakie ustawienia kodu są wymagane przed utworzeniem plików PDF?

Dodaj następujące polecenie importu na początku swojego skryptu Pythona:

:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/import.py
# Import statement for IronPDF for Python
from ironpdf import *
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
# Import statement for IronPDF for Python
from ironpdf import *
PYTHON

Przed wykonaniem jakichkolwiek innych wywołań IronPDF należy skonfigurować prawidłowy klucz licencyjny, przypisując go do atrybutu LicenseKey elementu License. To usuwa znak wodny wersji próbnej z generowanych PDFów. Dla szczegółowych instrukcji dotyczących implementacji kluczy licencyjnych odwiedź przewodnik konfiguracji kluczy licencyjnych.

:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/license.py
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"
PYTHON

WażneAby tworzyć PDFy bez znaków wodnych, wymagany jest ważny klucz licencyjny. Purchase a license or obtain a free trial license key. Bez klucza licencyjnego, IronPDF dodaje znak wodny wersji próbnej do każdego wyjściowego PDF.

Jak przekonwertować ciąg HTML na dokument PDF?

Metoda RenderHtmlAsPdf konwertuje ciąg HTML bezpośrednio na obiekt PdfDocument. Przekaż jakikolwiek prawidłowy znacznik HTML jako argument metody, a IronPDF renderuje go przy użyciu wbudowanego silnika Chromium, wykonując JavaScript i stosując CSS przed wygenerowaniem PDF.

To podejście jest najbardziej elastyczne dla dynamicznie generowanej treści: zbuduj ciąg HTML w Pythonie (używając silników szablonów, takich jak Jinja2 lub prostego formatowania ciągów), a następnie przekaż go bezpośrednio do renderer. Na przykład wygenerowanie faktury oznacza wypełnienie szablonu HTML danymi zamówienia i wywołanie RenderHtmlAsPdf w jednym kroku.

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

# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()

# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
from ironpdf import *

# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate the Chromium renderer
renderer = ChromePdfRenderer()

# Convert an HTML string to a PDF document
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
PYTHON

Jak zapisać wygenerowany plik PDF?

Po przekonwertowaniu ciągu HTML na instancję PdfDocument należy wywołać SaveAs z podaniem ścieżki do pliku docelowego:

:path=/static-assets/pdf/content-code-examples/how-to/python-create-pdf/save-html-string.py
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
# Save the PDF to a file
pdf.SaveAs("htmlstring_to_pdf.pdf")
PYTHON

Plik htmlstring_to_pdf.pdf jest zapisywany w bieżącym katalogu roboczym, zachowując zawartość HTML wraz z pełnym stylem CSS. Dla zaawansowanych technik renderowania HTML, w tym frameworków CSS, frameworków JavaScript i złożonych układów, zobacz samouczek HTML do PDF w Pythonie.

Jak wygenerować PDF z lokalnego pliku HTML?

Gdy treść HTML znajduje się w pliku w lokalnym systemie plików, właściwą metodą jest RenderHtmlFileAsPdf. Podaj ścieżkę do pliku jako argument:

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

# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate the renderer
renderer = ChromePdfRenderer()

# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")

# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
from ironpdf import *

# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate the renderer
renderer = ChromePdfRenderer()

# Create a PDF from a local HTML file
pdf = renderer.RenderHtmlFileAsPdf("example.html")

# Save the output PDF
pdf.SaveAs("htmlfile_to_pdf.pdf")
PYTHON

IronPDF rozwiązuje względne ścieżki do powiązanych plików CSS, obrazów i skryptów w odniesieniu do lokalizacji pliku HTML. Renderer ładuje wszystkie powiązane zasoby przed wygenerowaniem PDF, więc wynik odpowiada temu, co wyświetliłaby przeglądarka. To czyni go niezawodną opcją dla dokumentów szablonowych, gdzie HTML i zasoby są przechowywane jako pliki na dysku.

PoradyPodczas pracy z lokalnymi plikami HTML, upewnij się, że wszystkie powiązane zasoby (arkusze stylów, czcionki, obrazy) używają ścieżek względomních do pliku HTML. IronPDF rozwiązuje te ścieżki przed renderowaniem, tworząc kompletny, samodzielny PDF.

Jak utworzyć PDF z adresu URL w Pythonie?

Użyj RenderUrlAsPdf, aby przekonwertować aktywną stronę internetową do formatu PDF. Podaj pełny URL jako argument:

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

# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate the renderer
renderer = ChromePdfRenderer()

# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")

# Save the output PDF
pdf.SaveAs("url.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
from ironpdf import *

# Apply license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# Instantiate the renderer
renderer = ChromePdfRenderer()

# Convert a web page to PDF
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")

# Save the output PDF
pdf.SaveAs("url.pdf")
PYTHON

Funkcja renderowania URL obsługuje nowoczesne technologie sieciowe, w tym dynamiczną zawartość JavaScript, wywołania AJAX i responsywne layouty. IronPDF czeka na pełne załadowanie strony, w tym wykonanie JavaScript, przed uchwyceniem PDF, więc cała dynamiczna treść jest uchwycona dokładnie.

Gdzie mogę znaleźć więcej przykładów konwersji adresów URL?

Dodatkowe przykłady konwersji stron internetowych na PDFy są dostępne na stronie z przykładami kodu URL do PDF. Dla stron internetowych, które wymagają uwierzytelnienia, zobacz przewodnik na logowania do stron internetowych i systemów.

Jak mogę dostosować opcje formatowania plików PDF?

Właściwość RenderingOptions obiektu ChromePdfRenderer kontroluje formatowanie i układ wyjściowego pliku PDF. Typowe ustawienia obejmują rozmiar strony, orientację strony, marginesy i poziom zoomu.

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

License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

renderer = ChromePdfRenderer()

# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25

# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
from ironpdf import *

License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

renderer = ChromePdfRenderer()

# Configure rendering options
renderer.RenderingOptions.PaperSize = PdfPaperSize.A4
renderer.RenderingOptions.PaperOrientation = PdfPaperOrientation.Portrait
renderer.RenderingOptions.MarginTop = 20
renderer.RenderingOptions.MarginBottom = 20
renderer.RenderingOptions.MarginLeft = 25
renderer.RenderingOptions.MarginRight = 25

# Render with custom formatting
pdf = renderer.RenderHtmlAsPdf("<h1>Custom Formatted PDF</h1><p>Content here.</p>")
pdf.SaveAs("formatted.pdf")
PYTHON

Jakie ustawienia formatowania są dostępne?

Właściwość RenderingOptions udostępnia ustawienia rozmiaru papieru, orientacji strony, marginesów i Zoomu. Tabela poniżej wymienia najczęściej używane właściwości:

Najczęściej używane właściwości RenderingOptions do formatowania PDF w Pythonie
WłaściwośćTypOpis
Rozmiar papieruPdfPaperSizeStandardowe rozmiary stron (A4, Letter, Legal) lub rozmiary niestandardowe
Orientacja stronyPdfPaperOrientationOrientacja strony portretowa lub pejzażowa
MarginTop / MarginBottomint (mm)Górne i dolne marginesy strony w milimetrach
MarginLeft / MarginRightint (mm)Lewe i prawe marginesy strony w milimetrach
HtmlHeader / HtmlFooterHtmlHeaderFooterBieżące nagłówki i stopki HTML z obsługą numerów stron

Dla pełnego opisu wraz z dodatkowymi ustawieniami, zobacz przykład kodu ustawień generowania PDF.

PoradyAby dodać nagłówki i stopki z numerami stron, użyj właściwości HtmlHeader i HtmlFooter w RenderingOptions. Przykład nagłówków i stopek pokazuje pełną składnię.

Jak zabezpieczyć pliki PDF hasłami?

Aby zabezpieczyć plik PDF hasłem, należy ustawić właściwość UserPassword w atrybucie SecuritySettings obiektu PdfDocument. Hasło właściciela można również ustawić, aby ograniczyć uprawnienia do edycji oddzielnie od dostępu do odczytu.

Rozważ ochronę PDF utworzonego w przykładzie z URL:

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

License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")

# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"

# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"

# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False

# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
from ironpdf import *

License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")

# Set user password (required to open the PDF)
pdf.SecuritySettings.UserPassword = "sharable"

# Set owner password (controls permissions)
pdf.SecuritySettings.OwnerPassword = "admin123"

# Configure document permissions
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False

# Save the password-protected PDF
pdf.SaveAs("protected.pdf")
PYTHON

Jak w praktyce działa ochrona hasłem?

Otwarcie pliku protected.pdf w dowolnej przeglądarce PDF powoduje wyświetlenie monitu o podanie hasła użytkownika przed wyświetleniem treści dokumentu. Hasło właściciela daje administracyjny dostęp do modyfikacji ustawień bezpieczeństwa. Ustawienie AllowUserCopyPasteContent = False uniemożliwia czytelnikom kopiowanie tekstu z pliku PDF, jednocześnie zezwalając na drukowanie.

Dla dalszej kontroli nad uprawnieniami dokumentu, zobacz przykład ustawień bezpieczeństwa i metadanych oraz przewodnik szyfrowania i deszyfracji PDF.

Czym jest kompletny kod źródłowy?

Poniższy przykład łączy wszystkie cztery przepływy tworzenia PDF w jednym skrypcie Pythona:

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

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")

# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")

# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")

# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
// TEN FRAGMENT KODU JEST NIEDOSTĘPNY!
from ironpdf import *

# Apply your license key
License.LicenseKey = "IRONPDF-MYLICENSE-KEY-1EF01"

# --- HTML string to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlAsPdf("<h1>Hello World!</h1><p>This is an example HTML string.</p>")
pdf.SaveAs("htmlstring_to_pdf.pdf")

# --- Local HTML file to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderHtmlFileAsPdf("example.html")
pdf.SaveAs("htmlfile_to_pdf.pdf")

# --- URL to PDF ---
renderer = ChromePdfRenderer()
pdf = renderer.RenderUrlAsPdf("https://ironpdf.com")
pdf.SaveAs("url.pdf")

# --- Password-protected PDF ---
pdf.SecuritySettings.UserPassword = "sharable"
pdf.SecuritySettings.OwnerPassword = "admin123"
pdf.SecuritySettings.AllowUserPrinting = True
pdf.SecuritySettings.AllowUserCopyPasteContent = False
pdf.SaveAs("protected.pdf")
PYTHON

IronPDF renderuje wszystkie obrazy i tekst dokładnie, zachowując formatowanie. Interaktywne elementy, takie jak przyciski, nadal działają, a pola tekstowe zachowują swoją możliwość edycji w wygenerowanym PDFie.

Jakie są kolejne kroki w tworzeniu PDF w Pythonie?

Ten przewodnik obejmował trzy główne metody tworzenia PDF w IronPDF for Python — ciąg HTML, lokalny plik HTML i URL — wraz z ochroną hasłem w celu zabezpieczenia plików wyjściowych. Każda metoda generuje obiekt PdfDocument, który można dalej przetwarzać: opatrzyć stemplem, scalić, podzielić lub zaszyfrować przed zapisaniem.

Gotowy, aby rozszerzyć te przepływy pracy? Poniższe zasoby pokazują praktyczne następne kroki:

IronPDF wymaga ważnej licencji do użycia produkcyjnego. Licencjonowanie rozpoczyna się od $999. Start a free 30-day trial to evaluate the library without restrictions, or view licensing options for the full product suite.

Pobierz kompletny kod źródłowy.

Często Zadawane Pytania

Jak zainstalować IronPDF for Python?

Uruchom pip install ironpdf w swoim terminalu. Potrzebujesz takze zainstalowanego Pythona 3.x oraz SDK .NET 6.0, poniewaz IronPDF dla Pythona dziala w oparciu o silnik IronPDF .NET.

Jaki jest najprostszy sposób na konwersję HTML na PDF w Python?

Utworz instancje ChromePdfRenderer, a nastepnie wywolaj renderer.RenderHtmlAsPdf('

Hello

'). Metoda akceptuje dowolny poprawny ciag HTML i zwraca obiekt PdfDocument, ktory mozesz zapisac uzywajac pdf.SaveAs('output.pdf').

Czy moge wygenerowac PDF z lokalnego pliku HTML?

Tak. Uzyj renderer.RenderHtmlFileAsPdf('path/to/file.html'). IronPDF rozwiazuje powiazane pliki CSS, obrazy oraz skrypty w odniesieniu do lokalizacji pliku HTML przed renderowaniem.

Jak skonwertowac aktywny adres URL strony internetowej na PDF?

Wywolaj renderer.RenderUrlAsPdf('https://example.com'). IronPDF czeka, az cala strona zostanie zaladowana, w tym wykonanie JavaScript, przed uchwyceniem PDF.

Jak chronić wygenerowany PDF haslem?

Ustaw pdf.SecuritySettings.UserPassword, aby wymagac hasla do otwarcia pliku, oraz pdf.SecuritySettings.OwnerPassword, aby ograniczyc pozwolenia edytorskie. Nastepnie wywolaj pdf.SaveAs, aby zapisac zabezpieczony plik.

Czy moge kontrolowac rozmiar strony i marginesy generowanych PDF?

Tak. Skonfiguruj renderer.RenderingOptions.PaperSize (np. PdfPaperSize.A4) i ustaw MarginTop, MarginBottom, MarginLeft oraz MarginRight w milimetrach przed wywolaniem metody renderowania.

Czy IronPDF wspiera wykonywanie skryptow JavaScript podczas konwersji HTML na PDF?

Tak. IronPDF uzywa silnika renderowania opartego na Chromium, ktory wykonuje skrypty JavaScript, przetwarza wywolania AJAX i stosuje CSS przed wygenerowaniem PDF, dzieki czemu dynamiczna zawartosc jest uchwycona dokladnie.

Czy moge scalic lub skompresowac PDF po ich utworzeniu?

Tak. IronPDF dostarcza oddzielne metody do scalania kilku obiektow PdfDocument w jeden plik oraz do kompresowania istniejacych PDF w celu zredukowania rozmiaru pliku. Obie operacje dzialaja na obiekcie PdfDocument zwroconym przez dowolna metode renderujaca.

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