Darmowa biblioteka Python do konwersji HTML i CSS na PDF
Otwarta biblioteka Python umożliwia generowanie dokumentów PDF z HTML. Obsługuje zaawansowane układy stron, renderowanie obrazów i tabel, dodawanie własnych czcionek, nagłówki/stopki i wiele innych.
Czym jest biblioteka XHTML2PDF?
W świecie programowania webowego potrzeba generowania dokumentów PDF z treści HTML jest powszechnym wymogiem. Niezależnie od tego, czy chodzi o tworzenie faktur, raportów czy jakiegokolwiek innego rodzaju dokumentu do druku, posiadanie niezawodnego narzędzia do obsługi tej konwersji jest kluczowe. Właśnie tutaj z pomocą przychodzi XHTML2PDF, potężna otwarto‑źródłowa biblioteka Pythona. html2pdf (dawniej znana jako pisa) to czysto‑Pythonowa biblioteka, która przekształca HTML (w tym XHTML) oraz CSS w dokumenty PDF. Jest zbudowana na bazie narzędzi ReportLab i html5lib, z opcjonalnym wsparciem PyPDF. Niezależna od platformy i dostępna, pozwala programistom szybko i skutecznie zamienić treści internetowe w drukowalne pliki PDF.
XHTML2PDF jest pełen funkcji, które czynią go wszechstronnym narzędziem do generowania PDF. Obsługuje HTML5 i CSS 2.1, płynną integrację z Django, potężny interfejs wiersza poleceń, własne tagi specyficzne dla PDF, zaawansowane układy i stylizację stron, lepsze wsparcie dla tabel i obrazów oraz wiele innych. To, co sprawia, że XHTML2PDF jest tak atrakcyjny dla programistów, to jego prostota i elastyczność. Jeśli potrafisz pisać HTML i CSS, możesz w krótkim czasie zacząć generować PDF-y przy użyciu tej biblioteki. To czysta biblioteka Pythona, co oznacza, że jest niezależna od platformy i może działać na każdym systemie operacyjnym obsługującym Pythona. Należy również pamiętać o ograniczeniach biblioteki – nie obsługuje pełnej specyfikacji CSS i nie wykonuje JavaScript.
Rozpoczęcie pracy z XHTML2PDF
XHTML2PDF można zainstalować przy użyciu pip, poniższe polecenia zainstalują z koła Pythona, jeśli jest dostępne dla Twojej platformy.
Zainstaluj XHTML2PDF za pomocą pip
pip install xhtml2pdf Sklonuj repozytorium przez GitHub
git clone https://github.com/xhtml2pdf/xhtml2pdf.git Można również zainstalować go ręcznie; pobierz najnowsze pliki wydania bezpośrednio z repozytorium GitHub.
Konwertuj HTML i CSS do PDF przy użyciu Pythona
Podstawową funkcją otwartoźródłowej biblioteki XHTML2PDF jest parsowanie HTML i CSS (w tym stylów inline) oraz dokładne renderowanie ich do dokumentu PDF. Biblioteka obsługuje szeroki podzbiór znaczników HTML i właściwości CSS, co pozwala na znaczną elastyczność projektowania. Obsługuje takie funkcje jak podziały stron, nagłówki i stopki, marginesy i rozmiar strony, osadzanie czcionek i inne. Poniższy prosty przykład pokazuje, jak programiści mogą konwertować treść HTML do pliku PDF za pomocą kodu w Pythonie.
Jak przekonwertować zawartość HTML do pliku PDF przy użyciu Pythona?
from xhtml2pdf import pisa
# Treść HTML do konwersji
html_content = """
Witaj, świecie!
To jest mój pierwszy PDF wygenerowany przy użyciu XHTML2PDF.
"""
# Nazwa pliku wyjściowego PDF
output_filename = "hello_world.pdf"
# Otwórz plik wyjściowy w trybie binarnym do zapisu
with open(output_filename, "w+b") as pdf_file:
# Create the PDF
pisa_status = pisa.CreatePDF(
html_content, # the HTML to convert
dest=pdf_file) # file handle to receive result
# Sprawdź, czy tworzenie PDF zakończyło się sukcesem
if not pisa_status.err:
print(f"Successfully created PDF: {output_filename}")
else:
print(f"Error creating PDF: {pisa_status.err}")
Zaawansowane układy stron i obsługa własnych czcionek
Dzięki bibliotece XHTML2PDF programiści mają precyzyjną kontrolę nad układem stron PDF. Mogą definiować rozmiar strony, marginesy i orientację przy użyciu reguły CSS @page. Programiści mogą także tworzyć własne nagłówki i stopki w swoich dokumentach. Co więcej, jeśli potrzebujesz używać konkretnych czcionek w swoich PDF-ach, biblioteka umożliwia osadzanie własnych czcionek. Jest to szczególnie przydatne w budowaniu marki i zapewnianiu spójnej typografii we wszystkich dokumentach.
Renderowanie obrazów i tabel PDF przy użyciu biblioteki Python
Biblioteka open source XHTML2PDF zapewnia solidne wsparcie przy renderowaniu tabel i obrazów w Twoich plikach PDF. Możesz stylizować tabele przy użyciu CSS, a dla obrazów kontrolować ich rozmiar i wyrównanie. Biblioteka może łatwo i poprawnie rozwiązywać oraz osadzać obrazy, czcionki i inne zasoby statyczne, co jest kluczowe przy generowaniu samodzielnych plików PDF. Możesz automatycznie wygenerować spis treści, po prostu dodając znacznik
Obsługa HTML5 i CSS 2.1
Jeśli znasz HTML i CSS, odtwarzanie PDF‑ów ze stylizacją staje się intuicyjne — nie wymaga nowej krzywej uczenia się. Biblioteka XHTML2PDF oferuje doskonałe wsparcie dla nowoczesnych standardów internetowych, w tym HTML5 i CSS 2.1, z pewnym wsparciem dla właściwości CSS 3. Oznacza to, że możesz używać znanych znaczników HTML i właściwości CSS do strukturyzowania i stylizacji swoich dokumentów PDF, tak jak w przypadku strony internetowej.