Устройства рендеринга – рендеринг 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 предоставляет следующие устройства рендеринга:
- PdfDevice – рендерит HTML, MHTML, SVG и EPUB в PDF.
- XpsDevice – рендерит HTML, MHTML, SVG и EPUB в формат XPS.
- DocDevice – рендерит HTML, MHTML, SVG и EPUB в DOCX.
- ImageDevice – рендерит HTML, MHTML, SVG и EPUB в форматы изображений.
Каждое устройство имеет определенные параметры рендеринга: PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions и ImageRenderingOptions. Они позволяют точно контролировать качество вывода, макет и форматирование.
PdfDevice
Пространство имен Aspose.Html.Rendering.Pdf в библиотеке Aspose.HTML for Python via .NET предоставляет функциональность для рендеринга HTML и связанных форматов непосредственно в документы PDF. Оно включает классы и параметры, предназначенные для вывода PDF. Ключевые компоненты:
PdfDevice– это базовый класс устройства рендеринга. Он используется для преобразования HTML (или MHTML, SVG, EPUB и т.д.) в PDF-файл.PdfRenderingOptions– это класс, определяющий настраиваемые параметры вывода 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 и другие. Просто выберите файл, выберите формат для преобразования, и все готово. И что самое приятное, это совершенно бесплатно!