Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
В этой статье представлено подробное руководство по созданию HTML-документа с использованием Aspose.HTML for Python via .NET API. API предоставляет класс HTMLDocument, который является корнем иерархии HTML и содержит весь контент. Этот класс имеет набор конструкторов, которые позволяют создавать или загружать HTML-документы различными способами. HTML-документы можно создавать с нуля как пустой документ со структурой HTML, из строки, из потока памяти или загружать из файла или URL-адреса.
HTMLDocument является отправной точкой для библиотеки Python Aspose.HTML. Вы можете загрузить HTML-документ в Объектную модель документа (DOM), используя один из конструкторов HTMLDocument(), а затем программно читать, изменять дерево документа, добавлять и удалять узлы, изменять свойства узлов в документ, как он описан в официальных спецификациях.
Класс HTMLDocument обеспечивает представление HTML DOM в памяти, которое полностью соответствует спецификациям W3C DOM и WHATWG DOM. Если вы знакомы со стандартами WHATWG DOM, WHATWG HTML и JavaScript, использование Aspose.HTML for Python via .NET API будет довольно удобным и простым.
В следующем фрагменте кода Python показано использование конструктора по умолчанию HTMLDocument() для создания пустого HTML-документа и сохранения его в файл.
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)После создания появляется файл document-empty.html с исходной структурой документа: пустой документ включает в себя такие элементы, как <html>, <head> и <body>. После создания объекта документа его можно позже заполнить элементами HTML.
Если вы хотите программно создать HTML-документ с нуля, используйте конструктор без параметров, как указано в следующем фрагменте кода:
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)В новом документе мы создали текстовый узел с заданной строкой с помощью метода
create_text_node() и добавили его к элементу <body> с помощью метода
append_child().
Как редактировать HTML-файл подробно описано в статье Редактировать HTML-документ.
Более подробную информацию о сохранении HTML-файлов можно найти в статье Сохранить HTML-документ.
Если вам необходимо загрузить существующий HTML-файл из файла, поработать и сохранить его, то вам поможет следующий фрагмент кода:
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)В приведенном выше примере код Python устанавливает каталоги и пути для чтения HTML-документа из каталога «data» и сохранения отредактированной версии в каталоге «output». Он инициализирует HTML-документ из указанного файла, обрабатывает его, а затем сохраняет отредактированный документ в указанном пути вывода.
Одной из наиболее используемых функций Интернета является возможность выбирать файлы и взаимодействовать с ними на локальном устройстве пользователя. В следующем фрагменте кода Python вы увидите, как загрузить веб-страницу в HTMLDocument.
В случае, если вы передаете неверный URL-адрес, к которому в данный момент невозможно получить доступ, библиотека выдает PlatformException со специальным кодом NetworkError, чтобы сообщить вам, что выбранный ресурс не может быть найден.
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)В приведенном выше примере мы указали файл document.html для загрузки по URL-адресу.
Если ваш HTML-код содержит связанные ресурсы (стили, скрипты, изображения и т. д.), вам необходимо передать конструктору документа допустимый параметр base_uri. Он будет использоваться для определения местоположения ресурса во время загрузки документа.
Вы можете создать документ из строкового содержимого, используя один из конструкторов HTMLDocument(). Если вы хотите создать документ из пользовательской строки непосредственно в своем коде и сохранить его в файл, вам может помочь следующий пример. Мы создаем HTML-документ, содержащий текст «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)Если вы готовите HTML-код в виде объектов io.BytesIO в памяти, вам не нужно сохранять их в файл, просто передайте свой HTML-код в специализированные конструкторы. В следующем примере, чтобы создать HTML-документ из потока, мы будем использовать конструктор 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 создает объект потока, который полностью находится в памяти. Это полезно для временного хранения данных без необходимости записи на диск.
Масштабируемая векторная графика (SVG) является частью стандартов W3C и может быть встроена в HTMLDocument; мы реализовали класс SVGDocument с полной функциональностью SVG на основе официальной спецификации SVG2. Это позволяет загружать, читать и манипулировать документами SVG в соответствии со стандартом.
Поскольку и SVGDocument, и HTMLDocument основаны на одном и том же стандарте WHATWG DOM, такие операции, как загрузка, чтение, редактирование, преобразование и сохранение, аналогичны для обоих типов документов. Следовательно, любые примеры, демонстрирующие манипуляции с HTMLDocument, также применимы и к SVGDocument.
Вы можете создать документ из строкового содержимого, используя соответствующий конструктор SVGDocument(). Если вы хотите загрузить документ SVG из переменной content_stream в памяти и вам не нужно сохранять его в файл, в примере ниже показано, как это сделать:
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")В приведенном выше примере мы создали документ SVG, содержащий круг радиусом 50 пикселей. Дополнительную информацию о работе с документами SVG можно узнать из документации Aspose.SVG for Python via .NET.
MHTML – это формат архивирования веб-страниц. Он объединяет HTML-содержимое веб-страницы вместе со всеми связанными ресурсами, такими как CSS, JavaScript, изображения и аудиофайлы, в один файл. MHTML обычно используется веб-разработчиками для сохранения снимка веб-страницы в архивных целях. Библиотека Aspose.HTML Python поддерживает только рендеринг/преобразование файлов MHTML в различные форматы вывода. Дополнительную информацию см. в статье Преобразование между форматами.
EPUB – это широко поддерживаемый формат электронных книг и электронных публикаций, совместимый с большинством устройств чтения, включая смартфоны, планшеты и компьютеры. Подобно MHTML, Aspose.HTML поддерживает только рендеринг файлов EPUB в различные выходные форматы. Дополнительную информацию см. в статье Преобразование между форматами.
Загрузите библиотеку Aspose.HTML for Python via .NET, чтобы успешно, быстро и легко манипулировать вашими HTML-документами. Библиотека Python может создавать, изменять, извлекать данные, конвертировать и отображать HTML-документы без необходимости использования внешнего программного обеспечения. Она поддерживает популярные форматы файлов, такие как EPUB, MHTML, XML, SVG и Markdown, а также может выполнять рендеринг в форматах файлов PDF, DOCX, XPS и изображений.
Aspose.HTML предлагает бесплатный онлайн Конвертер HTML для преобразования HTML-документов в различные популярные форматы. Просто загрузите HTML из файла или URL-адреса, выберите формат для преобразования, и все готово. Это быстро и совершенно бесплатно!
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.