Устройства рендеринга – рендеринг 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 using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.pdf as rp
 6
 7# Prepare output directory and path for the PDF file
 8output_dir = "output/"
 9os.makedirs(output_dir, exist_ok=True)
10save_path = os.path.join(output_dir, "document.pdf")
11
12# Prepare HTML code
13code = "<span>Hello, World!!</span>"
14
15# Initialize an HTML document from the HTML code
16doc = ah.HTMLDocument(code, ".")
17
18# Create a PDF Device and specify the output file to render
19device = rp.PdfDevice(save_path)
20
21# Render HTML to PDF
22doc.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 using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.image as ri
 6
 7# Setup input and output directories
 8data_dir = "data/"
 9output_dir = "output/"
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare paths for input HTML and output JPG file
13document_path = os.path.join(data_dir, "drawing.html")
14save_path = os.path.join(output_dir, "drawing-output.jpg")
15
16# Initialize an HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create rendering options for image format (JPEG in this case)
20image_options = ri.ImageRenderingOptions(ri.ImageFormat.JPEG)
21
22# Create an ImageDevice and specify options and output file
23device = ri.ImageDevice(image_options, save_path)
24
25# Render HTML to JPG
26doc.render_to(device)

XpsDevice

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

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

DocDevice

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

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

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

Close
Loading

Analyzing your prompt, please hold on...

An error occurred while retrieving the results. Please refresh the page and try again.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.