Jak tworzyć pliki PDF w języku Python
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")
Jak utworzyć plik PDF w Pythonie
- Zainstaluj bibliotekę IronPDF dla Pythona
- Użyj metody
RenderHtmlAsPdf, aby przekonwertować ciąg HTML na dokument PDF - Użyj metody
RenderHtmlFileAsPdf, aby wygenerować plik PDF z lokalnego pliku HTML - Użyj metody
RenderUrlAsPdf, aby utworzyć plik PDF z adresu URL strony internetowej - Zastosuj ochronę hasłem i zapisz PDF w wybranym katalogu
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:
- Ekstrakcja tekstu i danych z istniejących PDFów
- Konwersja formatu pliku (HTML, DOCX, obrazy na PDF)
- Scalanie wielu PDFów
- Kompresowanie plików PDF
- Szyfrowanie hasłem i zarządzanie prawami cyfrowymi
- Wypełnianie formularzy PDF programistycznie
Jakie wymagania wstępne muszę spełnić przed tworzeniem PDFów?
Aby użyć IronPDF dla Pythona, muszą być zainstalowane następujące oprogramowanie:
.NET 6.0 SDK: IronPDF for Python działa na bazie biblioteki IronPDF .NET. Pobierz ją z oficjalnej strony pobierania Microsoft .NET 6.0.Python 3.x: Pobierz i zainstaluj Python z oficjalnej strony Python. Podczas instalacji wybierz opcję dodania języka Python do ścieżki PATH.pip: W zestawie z Python 3.4+. Zweryfikuj instalację uruchamiającpip --versionw swoim terminalu.IronPDF: Zainstaluj bibliotekę używając pip:
pip install ironpdf
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 *
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"
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.pyfrom 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>")
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")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.pyfrom 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")
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.
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.
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.pyfrom 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")
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.pyfrom 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")
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:
| Właściwość | Typ | Opis |
|---|---|---|
Rozmiar papieru | PdfPaperSize | Standardowe rozmiary stron (A4, Letter, Legal) lub rozmiary niestandardowe |
Orientacja strony | PdfPaperOrientation | Orientacja strony portretowa lub pejzażowa |
MarginTop / MarginBottom | int (mm) | Górne i dolne marginesy strony w milimetrach |
MarginLeft / MarginRight | int (mm) | Lewe i prawe marginesy strony w milimetrach |
HtmlHeader / HtmlFooter | HtmlHeaderFooter | Bieżą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.
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.pyfrom 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")
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.pyfrom 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")
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:
- HTML to PDF Python Tutorial — zaawansowana obsługa z frameworkami CSS i JavaScript
- Połącz PDF-y w Pythonie — scalanie wielu dokumentów w jeden plik
- Kompresja PDF w Pythonie — zmniejszenie rozmiaru pliku w celu przechowywania i wysyłki e-mailem
- Wypełnianie formularzy PDF w Pythonie — wypełnianie istniejących pól formularzy PDF
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.
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ą.







