Python's xhtml2pdf: explicación detallada del ejemplo de la herramienta HTML a PDF

        Este artículo presenta XHTML2PDF, una poderosa herramienta de HTML a PDF en Python, y proporciona ejemplos detallados para ayudar a los lectores a comenzar rápidamente. A través de este artículo, los lectores aprenderán cómo instalar y configurar XHTML2PDF y cómo usar la herramienta para convertir archivos HTML en documentos PDF de alta calidad.

        En el desarrollo de aplicaciones modernas, a menudo necesitamos convertir contenido HTML en documentos PDF. Este requisito es muy común en escenarios como la impresión de recibos de comercio electrónico, la generación de informes y la exportación de libros electrónicos. Hay muchas bibliotecas de herramientas poderosas en Python que se pueden usar para lograr la conversión de HTML a PDF, y XHTML2PDF es una de las opciones más populares. Este artículo presentará cómo usar XHTML2PDF en detalle y proporcionará códigos de muestra para ayudar a los lectores a comenzar rápidamente.

1. Instale la biblioteca XHTML2PDF

Antes de usar XHTML2PDF, primero debemos instalar esta biblioteca. Se puede instalar usando pip, ejecutando el siguiente comando en la línea de comando:

$ pip install xhtml2pdf

2. Importar biblioteca XHTML2PDF

Una vez completada la instalación, debemos importar la biblioteca XHTML2PDF en el script de Python para poder usar sus funciones. La sintaxis de importación es la siguiente:

from xhtml2pdf import pisa

3. Convierte HTML a PDF

A continuación, aprenderemos cómo convertir archivos HTML a documentos PDF usando XHTML2PDF. Aquí hay un código de muestra simple:

from io import BytesIO
from xhtml2pdf import pisa

def convert_html_to_pdf(html_string, output_path):
    pdf_file = open(output_path, "wb")
    pisa_status = pisa.CreatePDF(html_string, dest=pdf_file)
    pdf_file.close()

    if pisa_status.err:
        print(f"Error occurred while converting HTML to PDF: {pisa_status.err}")
    else:
        print("HTML converted to PDF successfully!")

# 读取HTML文件内容
with open("input.html", "r") as file:
    html_content = file.read()

# 调用转换函数
convert_html_to_pdf(html_content, "output.pdf")

En el código anterior, definimos una función convert_html_to_pdf, que acepta dos parámetros: el contenido del archivo HTML y la ruta del archivo PDF de salida. En la función, primero abrimos un archivo PDF en modo de escritura binaria y luego realizamos la conversión de HTML a PDF llamando a la función pisa.CreatePDF. Una vez completada la conversión, cierre el archivo.

4. Trabajar con estilos CSS

La biblioteca XHTML2PDF admite el análisis y la representación de estilos CSS, lo que nos permite aplicar fácilmente estilos de archivos HTML a documentos PDF generados. Aquí hay un código de muestra:

def convert_html_to_pdf(html_string, output_path):
    pdf_file = open(output_path, "wb")
    pisa_status = pisa.CreatePDF(html_string, dest=pdf_file, encoding="UTF-8",
                                css=open("style.css", "r").read())

    ...

# 调用转换函数
convert_html_to_pdf(html_content, "output.pdf")

Podemos aplicar estilos a un documento PDF pasando el contenido del archivo CSS como argumento al parámetro css de la función pisa.CreatePDF. En el ejemplo anterior, pasamos el contenido del archivo style.css a la función como estilos CSS.

5. Trabaja con imágenes y fuentes

La biblioteca XHTML2PDF también admite agregar imágenes y fuentes a los documentos PDF generados. Aquí hay un código de muestra:

def convert_html_to_pdf(html_string, output_path):
    pdf_file = open(output_path, "wb")
    pisa_status = pisa.CreatePDF(html_string, dest=pdf_file, encoding="UTF-8",
                                css=open("style.css", "r").read(),
                                images_path="images/",
                                fonts_path="fonts/")

    ...

# 调用转换函数
convert_html_to_pdf(html_content, "output.pdf")

En el código de muestra anterior, especificamos las rutas de los archivos de imágenes y archivos de fuentes pasando los parámetros images_path y fonts_path a la función pisa.CreatePDF. En este ejemplo, asumimos que los archivos de imágenes se almacenan en el directorio "images/" y los archivos de fuentes se almacenan en el directorio "fonts/". De esta forma, puede insertar fácilmente imágenes y utilizar fuentes personalizadas en los documentos PDF generados.

6. Manejo de errores

Al usar XHTML2PDF, debemos prestar atención al manejo de errores. La biblioteca XHTML2PDF proporciona una clase PMLCreationError para representar los errores que pueden ocurrir al convertir HTML a PDF. Aquí hay un código de muestra:

def convert_html_to_pdf(html_string, output_path):
    pdf_file = open(output_path, "wb")
    pisa_status = pisa.CreatePDF(html_string, dest=pdf_file)

    if pisa_status.err:
        print(f"Error occurred while converting HTML to PDF: {pisa_status.err}")
    else:
        print("HTML converted to PDF successfully!")

# 调用转换函数
convert_html_to_pdf(html_content, "output.pdf")

En el código anterior, comprobamos la propiedad err en el valor de retorno de la función pisa.CreatePDF. Si el atributo err no está vacío, significa que ocurrió un error durante la conversión y podemos imprimir el mensaje de error para la depuración.

en conclusión:

A través de este artículo, presentamos la biblioteca XHTML2PDF y cómo usarla en detalle, y cómo convertir archivos HTML en documentos PDF de alta calidad. Aprendimos los pasos para instalar y configurar XHTML2PDF y proporcionamos un código de muestra para ayudar a los lectores a comenzar rápidamente. En el camino, también discutimos cómo trabajar con estilos CSS, insertar imágenes y usar fuentes personalizadas. Espero que este artículo pueda ayudar a los lectores a convertir HTML a PDF usando XHTML2PDF en Python.

 

Supongo que te gusta

Origin blog.csdn.net/naer_chongya/article/details/131771930
Recomendado
Clasificación