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")
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: prześlij znacznik HTML (lub ścieżkę pliku, lub URL) i otrzymaj obiekt PdfDocument, który można zapisać, stemplować, łączyć lub szyfrować.

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 na bazie biblioteki IronPDF .NET. Pobierz ją z oficjalnej strony pobierania Microsoft .NET 6.0.
  2. Python 3.x: Pobierz i zainstaluj Python z oficjalnej strony Python. Podczas instalacji wybierz opcję dodania języka Python do ścieżki PATH.
  3. pip: W zestawie z Python 3.4+. Zweryfikuj instalację uruchamiając pip --version w swoim terminalu.
  4. IronPDF: Zainstaluj bibliotekę używając pip:
pip install ironpdf

Zwróć uwagęNa niektorych systemach, Python 2.x może być nadal domyslna wersja. W takich przypadkach użyj 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 *
PYTHON

Przed wywołaniem jakichkolwiek innych funkcji IronPDF skonfiguruj ważny klucz licencyjny, przypisując go do atrybutu LicenseKey w 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"
PYTHON

WażneAby tworzyć PDFy bez znaków wodnych, wymagany jest ważny klucz licencyjny. Kup licencję lub zyskaj darmowy klucz licencyjny próbny. 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 bezpośrednio konwertuje ciąg HTML do obiektu 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. Generowanie faktury, na przykład, 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>")
PYTHON

Jak zapisać wygenerowany plik PDF?

Po przekształceniu ciągu HTML w instancję PdfDocument, wywołaj SaveAs z docelową ścieżką pliku:

: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 treść HTML 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?

Kiedy treść HTML znajduje się w pliku w lokalnym systemie plików, RenderHtmlFileAsPdf jest odpowiednią metodą. 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")
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.

Icon Quote related to Jak wygenerować PDF z lokalnego pliku HTML?

Moją ulubioną biblioteką tego typu jest IronPDF. Umożliwia ona szybkie i efektywne manipulowanie plikami PDF. Posiada także wiele cennych funkcji, takich jak eksport do formatu PDF/A i cyfrowe podpisywanie dokumentów PDF.

Milan Jovanovic related to Jak wygenerować PDF z lokalnego pliku HTML?

Milan Jovanovic

Microsoft MVP

Zobacz studium przypadku
Icon Quote related to Jak wygenerować PDF z lokalnego pliku HTML?

IronOCR pozwala nam oszczędzić 40 000 USD rocznie na ręcznym przetwarzaniu, jednocześnie zwiększając produktywność i uwalniając zasoby do zadań o wysokim wpływie. Gorąco polecam.

Brent Matzelle related to Jak wygenerować PDF z lokalnego pliku HTML?

Brent Matzelle

Dyrektor technologiczny, OPYN

Zobacz studium przypadku
Icon Quote related to Jak wygenerować PDF z lokalnego pliku HTML?

IronSuite odgrywa kluczową rolę w naszej działalności. Są to narzędzia zwiększające wydajność w całej firmie, w tym tworzenie planów pięter i poprawa zarządzania zapasami.

David Jones related to Jak wygenerować PDF z lokalnego pliku HTML?

David Jones

Główny inżynier oprogramowania, Agorus Build

Zobacz studium przypadku

Jak utworzyć PDF z adresu URL w Pythonie?

Użyj RenderUrlAsPdf, aby przekonwertować działającą stronę internetową na 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")
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 w ChromePdfRenderer kontroluje formatowanie i układ wyjściowego dokumentu 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")
PYTHON

Jakie ustawienia formatowania są dostępne?

Właściwość RenderingOptions umożliwia ustawienia dotyczące 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ć bieżące nagłówki i stopki z numerami stron, użyj właściwości HtmlHeader i HtmlFooter na RenderingOptions. Przykład nagłówków i stopek pokazuje pełną składnię.

Jak zabezpieczyć pliki PDF hasłami?

Aby zabezpieczyć PDF hasłem, ustaw atrybut UserPassword w 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")
PYTHON

Jak w praktyce działa ochrona hasłem?

Otwarcie protected.pdf w jakimkolwiek przeglądarce PDF wywołuje zapytanie o hasło użytkownika przed wyświetleniem zawartoś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 PDF przy jednoczesnym umożliwieniu drukowania.

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")
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ć: stemplować, łączyć, dzielić lub szyfrować 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 zaczyna się od $999. Rozpocznij bezpłatny 30-dniowy okres próbny, aby ocenić bibliotekę bez ograniczeń, lub zobacz opcje licencji na pełną ofertę produktów.

Pobierz kompletny kod źródłowy.

Często Zadawane Pytania

Jak zainstalować IronPDF for Python?

Uruchom pip install ironpdf w swoim terminalu. Potrzebujesz także zainstalowanego Pythona 3.x oraz SDK .NET 6.0, ponieważ IronPDF dla Pythona działa w oparciu o silnik IronPDF .NET.

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

Utwórz instancję ChromePdfRenderer, a następnie wywołaj renderer.RenderHtmlAsPdf('<h1>Hello</h1>'). Metoda akceptuje dowolny poprawny ciąg HTML i zwraca obiekt PdfDocument, który możesz zapisać używając pdf.SaveAs('output.pdf').

Czy mogę wygenerować PDF z lokalnego pliku HTML?

Tak. Użyj renderer.RenderHtmlFileAsPdf('path/to/file.html'). IronPDF rozwiązuje powiązane pliki CSS, obrazy oraz skrypty w odniesieniu do lokalizacji pliku HTML przed renderowaniem.

Jak skonwertować aktywny adres URL strony internetowej na PDF?

Wywołaj renderer.RenderUrlAsPdf('https://example.com'). IronPDF czeka, aż cała strona zostanie załadowana, w tym wykonanie JavaScript, przed uchwyceniem PDF.

Jak chronić wygenerowany PDF hasłem?

Ustaw pdf.SecuritySettings.UserPassword, aby wymagać hasła do otwarcia pliku, oraz pdf.SecuritySettings.OwnerPassword, aby ograniczyć pozwolenia edytorskie. Następnie wywołaj pdf.SaveAs, aby zapisać zabezpieczony plik.

Czy mogę kontrolować rozmiar strony i marginesy generowanych PDF?

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

Czy IronPDF wspiera wykonywanie skryptów JavaScript podczas konwersji HTML na PDF?

Tak. IronPDF używa silnika renderowania opartego na Chromium, który wykonuje skrypty JavaScript, przetwarza wywołania AJAX i stosuje CSS przed wygenerowaniem PDF, dzięki czemu dynamiczna zawartość jest uchwycona dokładnie.

Czy mogę scalić lub skompresować PDF po ich utworzeniu?

Tak. IronPDF dostarcza oddzielne metody do scalania kilku obiektów PdfDocument w jeden plik oraz do kompresowania istniejących PDF w celu zredukowania rozmiaru pliku. Obie operacje działają na obiekcie PdfDocument zwróconym przez dowolną metodę renderującą.

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.6 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

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