Convertir HTML a PDF en Python
Conversión de HTML a PDF con Python
Aspose.PDF for Python via .NET le permite convertir documentos HTML existentes a PDF con opciones de renderizado flexibles. Puede ajustar finamente cómo se genera la salida para que coincida con sus requisitos de diseño, estilo, accesibilidad y archivado.
Convertir HTML a PDF
El siguiente ejemplo de Python muestra el flujo de trabajo básico para convertir un documento HTML a PDF.
- Crear una instancia de la HtmlLoadOptions clase.
- Inicializar un Documento objeto con el archivo HTML de origen.
- Guarde el documento PDF de salida llamando
document.save().
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.page_layout_option = ap.HtmlPageLayoutOption.SCALE_TO_PAGE_WIDTH
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Conversiones relacionadas
- Convertir PDF a HTML cuando necesitas una salida lista para la web a partir de archivos PDF existentes.
- Convertir otros formatos de archivo a PDF para flujos de trabajo de conversión de EPUB, XPS, texto y PostScript.
- Convertir imágenes a PDF cuando su contenido fuente es basado en imágenes en lugar de marcado HTML.
Intenta convertir HTML a PDF en línea
Aspose presenta la aplicación en línea “HTML a PDF”, donde puedes probar la calidad de conversión y la salida.
Convertir HTML a PDF usando tipo de medio
Este ejemplo muestra cómo convertir un archivo HTML a PDF utilizando opciones de renderizado específicas.
- Crear una instancia de la HtmlLoadOptions() clase.
- Establecer
html_media_typepara aplicar reglas CSS destinadas a pantallas o a diseños de impresión, comoHtmlMediaType.SCREENoHtmlMediaType.PRINT. - Cargar el HTML en un
ap.Documentusando las opciones de carga. - Guarde el documento como un PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.html_media_type = ap.HtmlMediaType.SCREEN
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Prioriza el CSS @page regla durante la conversión de HTML a PDF
Algunos documentos usan el @page regla para maquetación de página. Si esos estilos entran en conflicto con otras configuraciones, puedes controlar la prioridad con is_priority_css_page_rule.
- Crear una instancia de la HtmlLoadOptions clase.
- Establecer
is_priority_css_page_rule = Falsepara que otros estilos tengan prioridad sobre@pagereglas. - Cargar el HTML en un
ap.Documentcon las opciones configuradas. - Guarde el documento como un PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
# load_options.is_priority_css_page_rule = False
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Convertir HTML a PDF con fuentes incrustadas
Este ejemplo muestra cómo convertir un archivo HTML a PDF mientras se incrustan fuentes. Si necesita que el PDF de salida preserve la tipografía original, establezca is_embed_fonts a True.
- Crear
HtmlLoadOptions()para configurar la conversión de HTML a PDF. - Establecer
is_embed_fonts = Trueincrustar las fuentes utilizadas en el HTML directamente en el PDF. - Cargar el HTML en un
ap.Documentcon estas opciones. - Guarde el documento como un PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.HtmlLoadOptions()
load_options.is_embed_fonts = True
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
Renderizar contenido HTML en una sola página PDF
Este ejemplo muestra cómo convertir un archivo HTML en un PDF de una sola página usando Aspose.PDF for Python via .NET. Utilice el is_render_to_single_page propiedad cuando deseas que todo el contenido HTML se renderice en una sola página continua.
- Crear una instancia de
HtmlLoadOptions()para configurar el proceso de conversión. - Habilitar
is_render_to_single_pagepara renderizar todo el contenido HTML en una página. - Cargue el documento con las opciones configuradas en un
ap.Document. - Guarda el resultado como un archivo PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
options = ap.HtmlLoadOptions()
options.is_render_to_single_page = True
doc = ap.Document(path_infile, options)
doc.save(path_outfile)
Crear estructura lógica a partir de etiquetas HTML
Estructura lógica, también llamada Tagged PDF, preserva la jerarquía semántica del HTML original, como encabezados, párrafos y listas. Esto hace que el PDF resultante sea más accesible, buscable y adecuado para flujos de trabajo de documentos estructurados.
Al habilitar la estructura lógica durante la conversión, el HTML DOM se asigna a un árbol de etiquetas PDF en lugar de renderizarse solo como contenido visual.
Para cumplir con los requisitos de accesibilidad, un PDF debe incluir elementos de estructura lógica que definan el orden de lectura, proporcionen texto alternativo para los lectores de pantalla y preserven la jerarquía del contenido.
La calidad de la estructura lógica en el PDF de salida depende directamente de la calidad del marcado HTML original. Un HTML mal estructurado o inválido puede resultar en un etiquetado incompleto o inexacto en el PDF convertido.
- Cree una instancia de HtmlLoadOptions para controlar cómo se convierte el HTML.
- Active la etiquetación semántica para que el PDF contenga elementos estructurados.
- Abra el archivo HTML usando las opciones configuradas.
- Guardar el PDF estructurado.
import aspose.pdf as ap
# Path to the source HTML
input_html_path = "input.html"
# Path for the Logical Structure PDF
output_pdf_path = "output_logical_structure.pdf"
# Initialize HtmlLoadOptions
options = ap.HtmlLoadOptions()
# Convert HTML markup to PDF logical structure elements
options.create_logical_structure = True
# Open PDF document
with ap.Document(input_html_path, options) as document:
# Save PDF document
document.save(output_pdf_path)
Convertir MHTML a PDF
Este ejemplo muestra cómo convertir un archivo MHT o MHTML en un documento PDF usando Aspose.PDF for Python via .NET con dimensiones de página específicas.
- Crear una instancia de
ap.MhtLoadOptions()para configurar el procesamiento de archivos MHTML. - Establezca varios parámetros, como el tamaño de página.
- Inicializa el documento con el archivo de entrada y las opciones de carga configuradas.
- Guarde el documento resultante como un PDF.
from os import path
import aspose.pdf as ap
path_infile = path.join(self.data_dir, infile)
path_outfile = path.join(self.data_dir, "python", outfile)
load_options = ap.MhtLoadOptions()
load_options.page_info.width = 842
load_options.page_info.height = 1191
document = ap.Document(path_infile, load_options)
document.save(path_outfile)
print(infile + " converted into " + outfile)
