1. Products
  2.   Conversion
  3.   Python
  4.   xhtml2pdf
 
  

Bibliotecă de conversie Python HTML în PDF cu sursă deschisă

Încercați această bibliotecă Python gratuită și cu sursă deschisă pentru a converti documente HTML în PDF.

Ce este xhtml2pdf?

Xhtml2pdf este o bibliotecă Python open source concepută pentru conversia conținutului HTML în documente PDF, cu un accent principal pe păstrarea structurii și stilului original. Această bibliotecă puternică convertește fără probleme paginile web în PDF-uri profesionale pregătite pentru imprimare.

GitHub

GitHub Stats

Name: xhtml2pdf
Language: Python
Stars: 2.3K
Forks: 649
License: Apache License 2.0
Repository was last updated at 2025-04-13

Noțiuni introductive cu xhtml2pdf

Aveți nevoie de versiunea Python 3.8.0 sau mai mare pentru a instala și utiliza xhtml2pdf. Deci, mai întâi instalați Python și apoi utilizați comenzile de mai jos pentru a instala xhtml2pdf pe computer folosind pip și mediu virtual.

Linux


python -m venv env
. env/bin/activate
pip install xhtml2pdf

MacOS


python -m venv env
. env/bin/activate
pip install xhtml2pdf

Windows


python -m venv env
.\env\Scripts\activate
pip install xhtml2pdf

Conversia șirului HTML în document PDF

Putem converti un șir HTML într-un document PDF folosind biblioteca xhtml2pdf. Stocăm conținutul HTML complet într-o variabilă și apoi trecem acea variabilă la funcția pisa.CreatePDF(html_content, dest, encoding). Această metodă ne oferă conținutul PDF în care hyperlinkurile, imaginile și alte elemente sunt gestionate într-un obiect BytesIO pe care l-am transmis. În cele din urmă, creăm un fișier PDF folosind datele stocate în obiectul BytesIO. Verificați fragmentul de cod de mai jos pentru detalii:

# Import the pisa module from the xhtml2pdf library
from xhtml2pdf import pisa
# Import the BytesIO class from the io module
from io import BytesIO
# HTML content that is to be converted to a PDF
html_content = """
<!DOCTYPE html>
<html>
<body>
<h1>Example with Hyperlinks</h1>
<p>Visit <a href="https://www.example.com">Example</a></p>
</body>
</html>
"""
# Create a BytesIO object to store the PDF output
pdf_output = BytesIO()
# Use xhtml2pdf to convert the HTML content to a PDF and store it in pdf_output
pisa.CreatePDF(html_content, dest=pdf_output, encoding='utf-8')
# Open a PDF file for writing in binary mode
with open("html-to-pdf.pdf", "wb") as pdf_file:
# Write the PDF content to the file
pdf_file.write(pdf_output.getvalue())

Captura de ecran de mai jos afișează documentul PDF convertit din șirul HTML:

Conversia fișierului HTML în document PDF

De asemenea, putem converti un fișier HTML într-un PDF utilizând biblioteca xhtml2pdf. Citim conținutul fișierului HTML într-o variabilă și apoi trecem acea variabilă la metoda pisa.CreatePDF(html_content, dest, encoding). După aceea, urmează aceiași pași ca și în exemplul anterior pentru a crea documentul PDF folosind obiectul BytesIO, așa cum este demonstrat în fragmentul de cod de mai jos:

# Import the pisa module from the xhtml2pdf library
from xhtml2pdf import pisa
# Import the BytesIO class from the io module
from io import BytesIO
# Open the HTML file for reading
with open("file.html", "r", encoding="utf-8") as file:
# Read the content of the file and store it as a string
html_content = file.read()
# Create a BytesIO object to store the PDF output
pdf_output = BytesIO()
# Convert the HTML content to a PDF document
pisa.CreatePDF(html_content, dest=pdf_output, encoding='utf-8')
# Open a PDF file for writing in binary mode
with open("html-file-to-pdf.pdf", "wb") as pdf_file:
# Write the PDF content to the file
pdf_file.write(pdf_output.getvalue())

Captura de ecran de mai jos afișează documentul PDF care a fost convertit din fișierul HTML:

Concluzie

În rezumat, xhtml2pdf este o bibliotecă Python open-source care convertește HTML în documente PDF în timp ce gestionează hyperlinkuri, imagini și foi de stil externe. xhtml2pdf nu include biblioteci front-end în timpul conversiei HTML în PDF, așa că atunci când există variabile în HTML, cum ar fi {{name}}, acestea apar în PDF exact așa cum sunt scrise în HTML, în loc să arate valorile lor reale.

În plus, nu are suport pentru paginile dinamice care depind de JavaScript pentru a prelua conținut și nu urmează aspecte complexe specificate de CSS (de exemplu, aplică culorile, dimensiunile fonturilor etc. menționate în CSS, dar ignoră aspectul CSS). cum ar fi umplutură, margine, afișare etc). În ciuda acestor constrângeri, xhtml2pdf rămâne un instrument valoros pentru nevoile directe de conversie statică din HTML în PDF.

Similar Products

 Romanian