Biblioteca de conversión de HTML a PDF de Python de código abierto
Pruebe esta biblioteca Python gratuita y de código abierto para convertir documentos HTML a PDF.
¿Qué es xhtml2pdf?
Xhtml2pdf es una biblioteca de código abierto de Python diseñada para convertir contenido HTML en documentos PDF, con el objetivo principal de preservar la estructura y el estilo originales. Esta potente biblioteca convierte sin problemas páginas web en archivos PDF profesionales listos para imprimir.
Introducción a xhtml2pdf
Necesita la versión 3.8.0 o superior de Python para instalar y usar xhtml2pdf. Por lo tanto, primero instale Python y luego use los siguientes comandos para instalar xhtml2pdf en su máquina usando pip y virtual environment.
Linux
python -m venv env
. env/bin/activate
pip install xhtml2pdf
Sistema operativo Mac
python -m venv env
. env/bin/activate
pip install xhtml2pdf
Ventanas
python -m venv env
.\env\Scripts\activate
pip install xhtml2pdf
Convertir una cadena HTML en un documento PDF
Podemos convertir una cadena HTML en un documento PDF utilizando la biblioteca xhtml2pdf. Almacenamos el contenido HTML completo en una variable y luego pasamos esa variable a la función pisa.CreatePDF(html_content, dest, encoding). Este método nos proporciona el contenido PDF en el que los hipervínculos, las imágenes y otros elementos se gestionan dentro de un objeto BytesIO que le pasamos. Finalmente, creamos un archivo PDF utilizando los datos almacenados en el objeto BytesIO. Consulte el siguiente fragmento de código para obtener más detalles:
Producción
La siguiente captura de pantalla muestra el documento PDF convertido a partir de la cadena HTML:
Convertir un archivo HTML a un documento PDF
También podemos convertir un archivo HTML en un PDF utilizando la biblioteca xhtml2pdf. Leemos el contenido del archivo HTML en una variable y luego pasamos esa variable al método pisa.CreatePDF(html_content, dest, encoding). Después de eso, seguimos los mismos pasos que compartimos en el ejemplo anterior para crear el documento PDF utilizando el objeto BytesIO como se muestra en el siguiente fragmento de código:
Producción
La siguiente captura de pantalla muestra el documento PDF que se convirtió del archivo HTML:
Conclusión
En resumen, xhtml2pdf es una biblioteca Python de código abierto que convierte HTML a documentos PDF mientras maneja hipervínculos, imágenes y hojas de estilo externas. xhtml2pdf no incluye bibliotecas front-end al convertir HTML a PDF, por lo que cuando hay variables en el HTML como {{name}}, aparecen en el PDF exactamente como están escritas en el HTML, en lugar de mostrar sus valores reales.
Además, no admite páginas dinámicas que dependen de JavaScript para obtener contenido y no sigue diseños complejos especificados por CSS (por ejemplo, aplica los colores, tamaños de fuente, etc. mencionados en el CSS, pero ignora el CSS de diseño, como rellenos, márgenes, visualización, etc.). A pesar de estas limitaciones, xhtml2pdf sigue siendo una herramienta valiosa para las necesidades de conversión de HTML a PDF estáticos.