Jak tworzyć pliki PDF z tekstem i obrazami w języku Python
W dzisiejszej erze cyfrowej potrzeba generowania dokumentów PDF z dynamiczną treścią, w tym tekstem i obrazami, jest powszechnym wymogiem. Python to popularny język programowania, który ułatwia automatyzację rutynowych procesów, pozwalając zaoszczędzić czas i energię. Posiadanie wszechstronnej biblioteki do tworzenia plików PDF z tekstem i obrazami w języku Python może być bardzo przydatne do automatycznego generowania raportów, pokwitowań lub faktur. IronPDF, wszechstronna biblioteka języka Python, upraszcza proces tworzenia plików PDF o bogatej zawartości.
W tym artykułe omówimy, jak używać IronPDF do generowania plików PDF zawierających zarówno tekst, jak i obrazy w projekcie w języku Python.
Jak tworzyć pliki PDF z tekstem i obrazami w języku Python
- Zainstaluj bibliotekę IronPDF for Python
- Utwórz instancję ChromePdfRenderer
- Dodaj treść tekstową
- Dodaj obraz jako dane binarne
- Utwórz ciąg HTML zawierający tekst i obrazy
- Renderowanie HTML do PDF za pomocą RenderHtmlAsPdf
- Zapisz plik PDF za pomocą metody SaveAs
Wprowadzenie do IronPDF
IronPDF to bogata w funkcje biblioteka języka Python, która zapewnia programistom potężne narzędzia do tworzenia, modyfikowania i przetwarzania dokumentów PDF. Dzięki IronPDF można z łatwością włączać tekst, obrazy, tabele i inne elementy do plików PDF, co czyni go cennym narzędziem do szerokiego zakresu zastosowań, od generowania raportów po tworzenie dokumentów.

Najważniejsze cechy IronPDF:
- Łatwa integracja: IronPDF płynnie integruje się z popularnymi środowiskami programistycznymi Python, dzięki czemu jest dostępny dla programistów korzystających z narzędzi takich jak PyCharm.
- Obsługa sformatowanego tekstu: Obsługuje formatowanie tekstu, umożliwiając programistom łatwe tworzenie atrakcyjnych wizualnie dokumentów PDF.
- Obsługa obrazów: IronPDF umożliwia umieszczanie obrazów w plikach PDF, zapewniając elastyczność w projektowaniu i dostosowywaniu dokumentów.
- Kompatybilność międzyplatformowa: IronPDF działa na różnych platformach, zapewniając spójne wyświetlanie i obsługę wygenerowanych plików PDF.
Wymagania wstępne
Zanim zaczniesz tworzyć dokumenty PDF za pomocą IronPDF, upewnij się, że spełniasz następujące wymagania wstępne:
- Zainstalowany Python: Python musi być zainstalowany na komputerze. Możesz pobrać i zainstalować najnowszą wersję z oficjalnej strony internetowej Pythona (https://www.python.org/).
- Środowisko IDE PyCharm: Użyj PyCharm lub dowolnego innego środowiska IDE dla języka Python. PyCharm to popularne zintegrowane środowisko programistyczne, które zapewnia wygodną przestrzeń roboczą do tworzenia oprogramowania w języku Python.
- IronPDF: biblioteka IronPDF pobrana stąd lub zainstalowana za pomocą PIP (Python Package Manager). Do prawidłowego korzystania z funkcji IronPDF wymagane jest również środowisko uruchomieniowe Microsoft .NET. Użytkownicy systemów Linux, Mac i Windows mogą pobrać wersję .NET 6.0, korzystając z tego linku do pobrania.
Utwórz projekt Python w PyCharm
Po spełnieniu wymagań wstępnych otwórz PyCharm i utwórz nowy projekt w języku Python. Skonfiguruj środowisko wirtualne dla swojego projektu, aby efektywnie zarządzać zależnościami.
- Kliknij Plik > Nowy projekt.
- W oknie "Nowy projekt":
- Wpisz nazwę swojego projektu w polu "Lokalizacja".
- Wybierz lokalizację, w której chcesz zapisać pliki projektu.
- W sekcji "Interpreter projektu" wybierz interpreter języka Python. Jeśli zainstalowałeś Pythona, program automatycznie wykryje interpreter Pythona.
Wybierz typ projektu. W przypadku prostego projektu w języku Python można pozostać przy ustawieniach domyślnych.

Tworzenie prostego PDF z tekstem i obrazami
Chodźmy przez kroki do stworzenia jednego dokumentu PDF na jednej stronie, który zawiera zarówno tekst, jak i obraz, przy użyciu IronPDF:
Krok 1: Importuj IronPDF
W tym kroku importujemy wszystkie wymagane moduły z IronPDF. Importujemy ChromePdfRenderer do renderowania PDF oraz base64 do kodowania danych obrazu.
from ironpdf import ChromePdfRenderer
import base64from ironpdf import ChromePdfRenderer
import base64Krok 2: Utwórz instancję ChromePdfRenderer
Tutaj stworzymy instancję ChromePdfRenderer, która będzie używana do renderowania treści HTML na PDF.
# Instantiate Renderer
renderer = ChromePdfRenderer()# Instantiate Renderer
renderer = ChromePdfRenderer()Krok 3: Dodaj Treść Tekstową
W tym kroku zdefiniujemy ciąg HTML (html_content), który zawiera strukturę dokumentu HTML, w tym nagłówek, treść i sekcję z treścią tekstową, która później zostanie przekonwertowana na jeden plik PDF. Stylizacja CSS jest używana do ustawienia pozycji tekstu i obrazu.
# HTML String with Text
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF Generation Example</title>
<style>
body {
margin: 0; /* Remove default margin */
padding: 20px; /* Add padding for better visibility */
position: relative; /* Set the body as a relative position */
}
header {
text-align: center;
}
section {
margin-top: 20px; /* Add margin to separate sections */
}
img {
position: absolute;
top: 20px; /* Adjust the top position */
right: 20px; /* Adjust the right position */
}
</style>
</head>
<body>
<header>
<h1>PDF Generation Example</h1>
</header>
<section id="contentSection">
<h2>Text and Image in PDF</h2>
<p>This PDF includes both text and an embedded image:</p>
<p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""# HTML String with Text
html_content = """
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PDF Generation Example</title>
<style>
body {
margin: 0; /* Remove default margin */
padding: 20px; /* Add padding for better visibility */
position: relative; /* Set the body as a relative position */
}
header {
text-align: center;
}
section {
margin-top: 20px; /* Add margin to separate sections */
}
img {
position: absolute;
top: 20px; /* Adjust the top position */
right: 20px; /* Adjust the right position */
}
</style>
</head>
<body>
<header>
<h1>PDF Generation Example</h1>
</header>
<section id="contentSection">
<h2>Text and Image in PDF</h2>
<p>This PDF includes both text and an embedded image:</p>
<p>IronPDF developed by Ironsoftware is a great PDF creating library for .NET, Python, JAVA, Node.JS.</p>
"""Krok 4: Dodaj Obraz
Tutaj otworzymy i odczytamy plik obrazu (IronPDF-logo.png) w trybie binarnym, przekonwertujemy go na dane URI zakodowane w formacie base64 i osadzimy w ciągu HTML. Obraz jest następnie ustawiany przy użyciu stylów CSS, aby pojawił się w prawym górnym rogu.
# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
pngBinaryData = f.read()
imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
imgHtml = f"""
<img src='{imgDataUri}' width=100px height=100px
alt="IronPDF Logo">
</section>
</body>
</html>
"""# Read image and convert to base64 string
with open("ironpdf-logo.png", "rb") as f:
pngBinaryData = f.read()
imgDataUri = "data:image/png;base64," + base64.b64encode(pngBinaryData).decode("utf-8")
imgHtml = f"""
<img src='{imgDataUri}' width=100px height=100px
alt="IronPDF Logo">
</section>
</body>
</html>
"""Krok 5: Połącz Treść Tekstową i Obrazową
Ten krok konkatenacji ciągów HTML tekstu i obrazu, aby utworzyć kompletną zawartość HTML (full_html_content), która zostanie wyrenderowana do pliku wyjściowego PDF.
full_html_content = html_content + imgHtmlfull_html_content = html_content + imgHtmlKrok 6: Render&H&HTML jako plik PDF
Tutaj metoda RenderHtmlAsPdf jest używana do konwersji HTML na PDF za pomocą ChromePdfRenderer.
# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)# Create a PDF from the HTML string
pdf = renderer.RenderHtmlAsPdf(full_html_content)Krok 7: Zapisz plik PDF
Na koniec, wygenerowany PDF jest zapisywany jako "output_with_text_and_image_top_right.pdf". Ten plik będzie zawierał sformatowany tekst i osadzony obraz umieszczony w prawym górnym rogu.
# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")# Save the PDF to a file
pdf.SaveAs("output_with_text_and_image_top_right.pdf")Wynikowy dokument PDF
Teraz po wykonaniu programu, wynikowy plik PDF wygląda następująco:

Podobnie, wiele stron PDF może być dodawanych do pliku PDF z łatwością.
Zaawansowane Użycie: Dostosowanie Pozycji Tekstu i Obrazu
IronPDF oferuje dodatkowe funkcje pozwalające na precyzyjne dostosowanie położenia i stylizacji tekstu i obrazów w PDF za pomocą zewnętrznego pliku CSS/JavaScript. Ścieżka bazowa może być przesłana jako opcjonalny argument do metody RenderHtmlAsPdf, jak pokazano w poniższym kodzie:
# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")# Advanced Example with HTML Assets
# Load external HTML assets: Images, CSS, and JavaScript.
# An optional BasePath 'C:\site\assets\' is set as the file location to load assets from.
myAdvancedPdf = renderer.RenderHtmlAsPdf("<img src='icons/iron.png'>", r"C:\site\assets")
myAdvancedPdf.SaveAs("html-with-assets.pdf")W tym zaawansowanym przykładzie kodu rozwijamy koncepcję osadzania obrazu z zewnętrznych źródeł. Zawartość HTML w metodzie RenderHtmlAsPdf zawiera tag wskazujący na plik obrazu (iron.png) umieszczony w określonym katalogu zasobów (C:\site\assets\). Ponadto, ten katalog jest ustawiany jako parametr BasePath.
W RenderHtmlAsPdf możesz przesłać kompletną stronę HTML, jak pokazano w powyższych krokach. Plik CSS może być referencjonowany przy użyciu ścieżki bazowej jako drugiego opcjonalnego parametru. Aby uzyskać bardziej szczegółowe informacje na temat innych sposobów generowania formatu PDF lub modyfikowania istniejącego pliku PDF, odwiedź stronę przykładów kodu oraz dokumentację.
Wnioski
W tym artykule omówiliśmy, jak używać IronPDF do tworzenia plików PDF z tekstem i obrazami w projekcie Python. Dzięki intuicyjnemu API i potężnym funkcjom, IronPDF umożliwia programistom generowanie dynamicznych i atrakcyjnych wizualnie dokumentów PDF bez większego wysiłku. Niezależnie od tego, czy tworzysz raporty, dokumentację, czy jakikolwiek inny typ treści, IronPDF oferuje niezawodne i elastyczne rozwiązanie do generowania PDF w Pythonie. Eksperymentuj z opcjami dostosowywania, aby dostosować swoje PDF-y do konkretnych wymagań projektowych, czyniąc IronPDF cennym narzędziem do generacji dokumentów.
Licencja IronPDF license lub możesz skontaktować się z pomocą techniczną w celu uzyskania dalszych pytań.

Możesz pobrać i zainstalować bibliotekę z strony internetowej IronPDF.
Często Zadawane Pytania
Jak mogę utworzyć plik PDF z tekstem i obrazami przy użyciu języka Python?
Możesz użyć biblioteki IronPDF ChromePdfRenderer do tworzenia plików PDF z tekstem i obrazami w języku Python. Najpierw zainstaluj bibliotekę IronPDF, a następnie utwórz ciąg HTML z żądaną treścią. Użyj metody RenderHtmlAsPdf, aby przekształcić HTML na PDF, a na koniec zapisz plik PDF za pomocą metody SaveAs.
Jakie kroki należy wykonać, aby zainstalować bibliotekę PDF do użytku w języku Python?
Aby zainstalować bibliotekę IronPDF for Python, można użyć menedżera pakietów PIP. Wystarczy uruchomić polecenie pip install ironpdf w wierszu poleceń lub terminalu, aby pobrać i zainstalować bibliotekę wraz z jej zależnościami.
Jakie warunki wstępne są wymagane do korzystania z biblioteki do tworzenia plików PDF w języku Python?
Na komputerze musi być zainstalowany Python, środowisko IDE, takie jak PyCharm do programowania, oraz biblioteka IronPDF. Dodatkowo, aby IronPDF działał, wymagane jest środowisko uruchomieniowe Microsoft .NET.
Czy możliwe jest dostosowywanie plików PDF przy użyciu zewnętrznych arkuszy CSS lub JavaScript z bibliotekami Python?
Tak, IronPDF umożliwia korzystanie z zewnętrznych plików CSS i JavaScript w celu dostosowania układu i wyglądu plików PDF. Ta funkcja zapewnia zaawansowane opcje dostosowywania rozmieszczenia tekstu i obrazów.
Czy biblioteka PDF Python obsługuje kompatybilność międzyplatformową?
IronPDF został zaprojektowany z myślą o kompatybilności międzyplatformowej, co gwarantuje, że generowane pliki PDF można wyświetlać i obsługiwać w spójny sposób na różnych systemach operacyjnych.
Dlaczego podczas generowania plików PDF w języku Python stosuje się kodowanie base64 dla obrazów?
Kodowanie Base64 służy do konwersji binarnych danych obrazu do formatu ciągu znaków, który można bezpośrednio osadzić w kodzie HTML. Dzięki temu obrazy można dołączać do pliku PDF bez konieczności odwoływania się do plików zewnętrznych.
Jakie są kluczowe funkcje IronPDF for Python?
IronPDF oferuje takie funkcje, jak łatwa integracja ze środowiskami Python, obsługa tekstu sformatowanego i obrazów oraz kompatybilność międzyplatformowa. Cechy te sprawiają, że jest to wszechstronne narzędzie do generowania plików PDF z dynamiczną treścią.
W jaki sposób IronPDF może pomóc w generowaniu dynamicznych dokumentów PDF?
IronPDF zapewnia potężny interfejs API, który pozwala programistom generować pliki PDF z dynamiczną treścią, taką jak tekst i obrazy. Obsługuje HTML i CSS do formatowania, co ułatwia tworzenie atrakcyjnych wizualnie dokumentów w języku Python.










