Cree un documento en Python – cree o cargue HTML, SVG, MHTML, EPUB

Este artículo ofrece una guía detallada sobre cómo crear un documento HTML usando Aspose.HTML for Python via .NET API. La API proporciona la clase HTMLDocument, que es la raíz de la jerarquía HTML y contiene todo el contenido. Esta clase tiene un conjunto de constructores que te permiten crear o cargar documentos HTML de diferentes maneras. Los documentos HTML se pueden crear desde cero como un documento vacío con una estructura HTML, a partir de una cadena, desde un flujo de memoria o cargarse desde un archivo o URL.

Documento HTML

El HTMLDocument es un punto de partida para la biblioteca de Python Aspose.HTML. Puede cargar el documento HTML en el Modelo de objetos de documento (DOM) ​​usando uno de los constructores HTMLDocument() y luego leer mediante programación, modificar el árbol del documento, agregar y eliminar nodos, cambiar las propiedades del nodo en el documento tal y como se describe en las especificaciones oficiales.

La clase HTMLDocument proporciona una representación en memoria de un HTML DOM que cumple totalmente con las especificaciones W3C DOM y WHATWG DOM. Si está familiarizado con los estándares WHATWG DOM, WHATWG HTML y JavaScript, usar Aspose.HTML for Python via .NET API será bastante cómodo y fácil.

Crear un documento HTML vacío

El siguiente fragmento de código de Python muestra el uso del constructor predeterminado HTMLDocument() para crear un documento HTML vacío y guardarlo en un archivo.

 1# Create an empty HTML document in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare the output path
 7output_dir = "output"
 8os.makedirs(output_dir, exist_ok=True)
 9save_path = os.path.join(output_dir, "document-empty.html")
10
11# Create and save an empty HTML document
12with ah.HTMLDocument() as document:
13    # Work with the document here
14    document.save(save_path)

Después de la creación, aparece el archivo document-empty.html con la estructura del documento inicial: el documento vacío incluye elementos como <html> <head> y <body>. Una vez creado el objeto del documento, se puede completar posteriormente con elementos HTML.

Crear un nuevo documento HTML

Si desea crear un documento HTML mediante programación desde cero, utilice el constructor sin parámetros como se especifica en el siguiente fragmento de código:

 1# Create an HTML document in Python using the DOM
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare the output path
 7output_dir = "output"
 8os.makedirs(output_dir, exist_ok=True)
 9document_path = os.path.join(output_dir, "create-new-document.html")
10
11# Create an empty HTML document
12with ah.HTMLDocument() as document:
13    # Create a text node and add it to the document
14    text = document.create_text_node("Hello, World!")
15    document.body.append_child(text)
16
17    # Save the HTML document
18    document.save(document_path)

En el nuevo documento, creamos un nodo de texto, dada la cadena especificada, usando el método create_text_node() y lo agregamos al elemento <body> usando el método append_child().

Cómo editar un archivo HTML se describe en detalle en el artículo Editar documento HTML.

Más detalles sobre cómo guardar archivos HTML se encuentran en el artículo Guardar documento HTML.

Cargar HTML desde un archivo

Si necesita cargar un archivo HTML existente desde un archivo, trabajarlo y guardarlo, el siguiente fragmento de código le ayudará:

 1# Load an HTML file in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Prepare input and output paths
 7output_dir = "output"
 8input_dir = "data"
 9os.makedirs(output_dir, exist_ok=True)
10
11document_path = os.path.join(input_dir, "document.html")
12save_path = os.path.join(output_dir, "document-edited.html")
13
14# Load, process, and save the HTML document
15with ah.HTMLDocument(document_path) as document:
16    # Work with the document here
17    document.save(save_path)

En el ejemplo anterior, el código Python configura directorios y rutas para leer un documento HTML desde el directorio “data” y guardar una versión editada en el directorio “output”. Inicializa el documento HTML a partir del archivo especificado, lo procesa y luego guarda el documento editado en la ruta de salida designada.

Cargar HTML desde una URL

Una de las funciones más utilizadas de Internet es la capacidad de seleccionar archivos e interactuar con ellos en el dispositivo local del usuario. En el siguiente fragmento de código de Python, puede ver cómo cargar una página web en HTMLDocument.

En caso de que pase una URL incorrecta a la que no se pueda acceder en este momento, la biblioteca genera PlatformException con el código especializado ‘NetworkError’ para informarle que no se puede encontrar el recurso seleccionado.

1# Load HTML from a URL in Python
2
3import aspose.html as ah
4
5# Load the web page and print its HTML
6with ah.HTMLDocument("https://docs.aspose.com/html/files/aspose.html") as document:
7    print(document.document_element.outer_html)

En el ejemplo anterior, hemos especificado el archivo document.html para cargar desde la URL.

Cargar desde código HTML

En caso de que su código HTML tenga los recursos vinculados (estilos, scripts, imágenes, etc.), debe pasar un parámetro base_uri válido al constructor del documento. Se utilizará para resolver la ubicación del recurso durante la carga del documento.

Cargar HTML desde una cadena

Puede crear un documento a partir del contenido de una cadena utilizando uno de los constructores HTMLDocument(). Si desea crear un documento a partir de una cadena de usuario directamente en su código y guardarlo en un archivo, el siguiente ejemplo podría ayudarle. Creamos un documento HTML que contiene el texto “Hello, World!”

 1# Create an HTML document from a string in Python
 2
 3import os
 4import aspose.html as ah
 5
 6# Define the HTML content
 7html_code = "<p>Hello, World!</p>"
 8
 9# Prepare the output path
10output_dir = "output"
11os.makedirs(output_dir, exist_ok=True)
12save_path = os.path.join(output_dir, "create-html-from-string.html")
13
14# Create an HTML document from the string and save it
15with ah.HTMLDocument(html_code, ".") as document:
16    document.save(save_path)

Cargar HTML desde una secuencia

Si prepara un código HTML como objetos en memoria io.BytesIO, no necesita guardarlos en el archivo, simplemente pase su código HTML a constructores especializados. En el siguiente ejemplo, para crear un documento HTML a partir de una secuencia, usaremos el constructor HTMLDocument(content, base_uri):

 1# Load HTML from a stream in Python
 2
 3import os
 4import io
 5import aspose.html as ah
 6
 7# Prepare the output path
 8output_dir = "output"
 9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "load-from-stream.html")
11
12# Define the base URI for relative resources
13base_uri = "."
14
15# Load HTML from a memory stream and save it
16with io.BytesIO(b"<p>Hello, World!</p>") as content_stream:
17    with ah.HTMLDocument(content_stream, base_uri) as document:
18        document.save(save_path)

io.BytesIO crea un objeto de flujo que reside completamente en la memoria. Esto es útil para el almacenamiento temporal de datos sin necesidad de escribir en el disco.

Documento SVG

Los gráficos vectoriales escalables (SVG) son parte de los estándares W3C y pueden integrarse dentro de un documento HTML; Hemos implementado la clase SVGDocument con funcionalidad SVG completa basada en la especificación SVG2 oficial. Esto le permite cargar, leer y manipular documentos SVG de acuerdo con el estándar.

Dado que tanto SVGDocument como HTMLDocument se basan en el mismo estándar WHATWG DOM, operaciones como cargar, leer, editar, convertir y guardar son similares para ambos tipos de documentos. Por lo tanto, cualquier ejemplo que demuestre manipulación con HTMLDocument también se aplica a SVGDocument.

Puede crear un documento a partir del contenido de una cadena utilizando el constructor SVGDocument() apropiado. Si desea cargar un documento SVG desde una variable content_stream en la memoria y no necesita guardarlo en un archivo, el siguiente ejemplo muestra cómo hacerlo:

 1# Create an SVG document from a string in Python
 2
 3import io
 4import aspose.html.dom.svg as ahsvg
 5
 6# Define the SVG content
 7svg_content = "<svg xmlns='http://www.w3.org/2000/svg'><circle cx='50' cy='50' r='40'/></svg>"
 8base_uri = "."
 9
10# Create an SVG document from a memory stream
11with io.BytesIO(svg_content.encode("utf-8")) as content_stream:
12    with ahsvg.SVGDocument(content_stream, base_uri) as document:
13        # Print and save the SVG document
14        print(document.document_element.outer_html)
15        document.save("load-from-stream.svg")

En el ejemplo anterior, hemos creado el documento SVG que contiene un círculo con un radio de 50 píxeles. Puede obtener más información sobre cómo trabajar con documentos SVG en la documentación Aspose.SVG for Python via .NET.

Documento MHTML

MHTML es un formato para archivar páginas web. Agrupa el contenido HTML de una página web junto con todos los recursos asociados, como CSS, JavaScript, imágenes y archivos de audio, en un solo archivo. Los desarrolladores web suelen utilizar MHTML para guardar una instantánea de una página web con fines de archivo. la biblioteca de Python Aspose.HTML solo admite renderizar/convertir archivos MHTML a varios formatos de salida. Para obtener más información, consulte el artículo Conversión entre formatos.

Documento EPUB

EPUB es un formato ampliamente admitido para libros electrónicos y publicaciones electrónicas, compatible con la mayoría de los dispositivos de lectura, incluidos teléfonos inteligentes, tabletas y computadoras. Al igual que MHTML, Aspose.HTML solo admite la representación de archivos EPUB en varios formatos de salida. Para obtener más detalles, consulte el artículo Conversión entre formatos.

Descargue la biblioteca Aspose.HTML for Python via .NET para manipular con éxito, rapidez y facilidad sus documentos HTML. La biblioteca Python puede crear, modificar, extraer datos, convertir y renderizar documentos HTML sin necesidad de software externo. Admite formatos de archivos populares como EPUB, MHTML, XML, SVG y Markdown y puede renderizar en formatos de archivos PDF, DOCX, XPS e imágenes.

Aspose.HTML ofrece un HTML Converter en línea gratuito para convertir documentos HTML a una variedad de formatos populares. Simplemente cargue HTML desde un archivo o URL, elija el formato a convertir y listo. ¡Es rápido y completamente gratis!