Устройства рендеринга – рендеринг HTML в PDF, XPS, DOCX и изображения

В этой статье мы опишем, как использовать устройства рендеринга – PdfDevice, XpsDevice, DocDevice и ImageDevice – для рендеринга HTML в PDF, XPS, DOCX и изображения. В примерах на Python процесс рендеринга рассматривается с параметрами рендеринга по умолчанию. Чтобы узнать больше о настройке вывода, прочитайте статью Rendering Options.

Понимание устройств рендеринга (Rendering Device) в Aspose.HTML

В Aspose.HTML for Python via .NET устройство рендеринга представляет собой двумерную поверхность для рисования, реализованную через интерфейс IDevice. Его основное назначение – преобразование содержимого HTML и поддерживаемых веб-форматов (MHTML, SVG и EPUB) в различные выходные форматы.

API Python предоставляет следующие устройства рендеринга:

Каждое устройство имеет определенные параметры рендеринга: PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions и ImageRenderingOptions. Они позволяют точно контролировать качество вывода, макет и форматирование.

PdfDevice

Пространство имен Aspose.Html.Rendering.Pdf в библиотеке Aspose.HTML for Python via .NET предоставляет функциональность для рендеринга HTML и связанных форматов непосредственно в документы PDF. Оно включает классы и параметры, предназначенные для вывода PDF. Ключевые компоненты:

Следующий пример на Python показывает, как использовать PdfDevice для рендеринга HTML в PDF. Процесс рассматривается с параметрами рендеринга по умолчанию:

 1# Render HTML to PDF in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.pdf as rp
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12input_path = os.path.join(data_dir, "document.html")
13output_path = os.path.join(output_dir, "document.pdf")
14
15# Render HTML to PDF
16with ah.HTMLDocument(input_path) as document:
17    with rp.PdfDevice(output_path) as device:
18        document.render_to(device)

Опции рендеринга дают вам дополнительный контроль над процессом. Чтобы узнать о них больше, прочитайте статью Опции рендеринга.

ImageDevice

Пространство имен Aspose.Html.Rendering.Image предоставляет специальный класс ImageDevice, а также класс ImageRenderingOptions, отвечающий за рендеринг HTML-файлов в растровые форматы: JPG, PNG, BMP, GIF и TIFF.

Этот пример демонстрирует, как преобразовать HTML-файл в изображение JPEG с помощью Aspose.HTML for Python via .NET. Код загружает HTML-документ с диска, настраивает ImageRenderingOptions для формата JPEG, а затем использует ImageDevice для рендеринга документа в выходной файл изображения.

 1# Render HTML to JPG in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.image as ri
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12document_path = os.path.join(data_dir, "drawing.html")
13save_path = os.path.join(output_dir, "drawing-output.jpg")
14
15# Load the HTML document
16with ah.HTMLDocument(document_path) as document:
17    # Configure JPG output
18    options = ri.ImageRenderingOptions(ri.ImageFormat.JPEG)
19
20    # Render HTML to JPG
21    with ri.ImageDevice(options, save_path) as device:
22        document.render_to(device)

XpsDevice

Пространство имен Aspose.Html.Rendering.Xps предоставляет класс XpsDevice, который используется для рендеринга HTML-контента (или MHTML, SVG, EPUB и т.д.) в документы XPS. Следующий пример на языке Python демонстрирует этот процесс с параметрами рендеринга по умолчанию:

 1# Render HTML to XPS in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.xps as rx
 6
 7# Prepare input and output paths
 8data_dir = "data"
 9output_dir = "output"
10os.makedirs(output_dir, exist_ok=True)
11
12document_path = os.path.join(data_dir, "drawing.html")
13save_path = os.path.join(output_dir, "drawing-output.xps")
14
15# Load the HTML document
16with ah.HTMLDocument(document_path) as document:
17    # Configure XPS output
18    options = rx.XpsRenderingOptions()
19
20    # Render HTML to XPS
21    with rx.XpsDevice(options, save_path) as device:
22        document.render_to(device)

DocDevice

Пространство имен Aspose.Html.Rendering.Doc включает класс DocDevice, который обеспечивает рендеринг файлов HTML, MHTML, SVG и EPUB в формат DOCX. Следующий пример на Python демонстрирует этот процесс с использованием опций рендеринга по умолчанию:

 1# Render HTML to DOCX in Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.doc as rd
 6
 7# Prepare the output path
 8output_dir = "output"
 9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "document.docx")
11
12# Render the webpage to DOCX
13with ah.HTMLDocument("https://docs.aspose.com/html/files/document.html") as document:
14    with rd.DocDevice(save_path) as device:
15        document.render_to(device)

Aspose.HTML предлагает бесплатные онлайн Конверторы, которые позволяют преобразовать файлы HTML, XHTML, MHTML, EPUB, XML и Markdown в различные популярные форматы. Вы можете легко конвертировать HTML-документы в PDF, XPS, DOCX, JPG, PNG, GIF, TIFF и другие. Просто выберите файл, выберите формат для преобразования, и все готово. И что самое приятное, это совершенно бесплатно!