Устройства рендеринга – рендеринг 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. Процесс рассматривается с параметрами рендеринга по умолчанию:

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.pdf as rp
 4
 5# Prepare output directory and path for the PDF file
 6output_dir = "output/"
 7os.makedirs(output_dir, exist_ok=True)
 8save_path = os.path.join(output_dir, "document.pdf")
 9
10# Prepare HTML code
11code = "<span>Hello, World!!</span>"
12
13# Initialize an HTML document from the HTML code
14doc = ah.HTMLDocument(code, ".")
15
16# Create a PDF Device and specify the output file to render
17device = rp.PdfDevice(save_path)
18
19# Render HTML to PDF
20doc.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 для рендеринга документа в выходной файл изображения.

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.image as ri
 4
 5# Setup input and output directories
 6data_dir = "data/"
 7output_dir = "output/"
 8os.makedirs(output_dir, exist_ok=True)
 9
10# Prepare paths for input HTML and output JPG file
11document_path = os.path.join(data_dir, "drawing.html")
12save_path = os.path.join(output_dir, "drawing-output.jpg")
13
14# Initialize an HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create rendering options for image format (JPEG in this case)
18image_options = ri.ImageRenderingOptions(ri.ImageFormat.JPEG)
19
20# Create an ImageDevice and specify options and output file
21device = ri.ImageDevice(image_options, save_path)
22
23# Render HTML to JPG
24doc.render_to(device)

XpsDevice

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

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.xps as rx
 4
 5# Setup input and output directories
 6data_dir = "data/"
 7output_dir = "output/"
 8os.makedirs(output_dir, exist_ok=True)
 9
10# Prepare paths for input HTML and output XPS file
11document_path = os.path.join(data_dir, "drawing.html")
12save_path = os.path.join(output_dir, "drawing-output.xps")
13
14# Initialize an HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create rendering options for XPS format
18xps_options = rx.XpsRenderingOptions()
19
20# Create an XpsDevice and specify options and output file
21device = rx.XpsDevice(xps_options, save_path)
22
23# Render HTML to JPG
24doc.render_to(device)

DocDevice

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

 1import os
 2import aspose.html as ah
 3import aspose.html.rendering.doc as rd
 4
 5# Prepare output directory and path for the DOCX file
 6output_dir = "output/"
 7os.makedirs(output_dir, exist_ok=True)
 8save_path = os.path.join(output_dir, "document.doc")
 9
10# Initialize an HTML document from URL
11doc = ah.HTMLDocument("https://docs.aspose.com/html/files/document.html")
12
13# Create a DocDevice and specify the output file to render
14device = rd.DocDevice(save_path)
15
16# Render HTML to DOCX
17doc.render_to(device)

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

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.