Параметры рендеринга – Настройка HTML-рендеринга

Параметры рендеринга обеспечивают детальный контроль над тем, как устройство рендеринга обрабатывает содержимое. Каждое устройство – PdfDevice, XpsDevice, DocDevice и ImageDevice – имеет свой класс опций: PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions и ImageRenderingOptions. С помощью этих опций вы можете настроить размер страницы, поля и цвета, а также применить настройки, специфичные для конкретного устройства, например, добавить пароль безопасности к PDF-файлам. Настройка очень важна для достижения желаемых результатов, будь то уменьшение размера файла за счет регулировки качества и разрешения изображений или повышение удобочитаемости за счет оптимизации макета страницы и форматирования текста.

В этой статье рассматриваются опции рендеринга в Aspose.HTML for Python via .NET, показывающие, как настраивать преобразование HTML-контента в выходные форматы, такие как PDF, XPS, DOCX и изображения. Эти параметры включают общие настройки, такие как размер страницы, цвет фона и разрешение, а также настройки для конкретных устройств, включая сжатие изображений, защиту PDF и вставку шрифтов, которые позволяют полностью контролировать конечный результат.

Здесь вы найдете примеры кода на Python, демонстрирующие использование специфических параметров устройства. Использование общих параметров будет рассмотрено в главе “How-to Articles” (в процессе подготовки).

Чтобы узнать больше о процессе рендеринга, обратитесь к статье Rendering Device.

Параметры рендеринга PDF – PdfRenderingOptions

Класс PdfRenderingOptions, наряду с общими опциями, поддерживает несколько специфических параметров, таких как jpeg_quality, document_info, encryption, form_field_behaviour и is_tagged_pdf.

PropertyDescription
jpeg_qualitySpecifies the quality of JPEG compression for images. The default value is 95.
document_infoThis property contains information about the output PDF document.
encryptionThis property gets or sets encryption details. If it is not set, then no encryption will be performed.
form_field_behaviourThis property specifies the behavior of form fields in the output PDF document.
is_tagged_pdfIf is_tagged_pdf = true, a tag structure will be added to the PDF document during rendering.

Свойство form_field_behaviour используется для указания поведения полей формы в PDF-документе. О том, что значит сплющить PDF-файл и как это сделать с помощью библиотеки Aspose.HTML for Python via .NET, читайте в разделе Преобразование HTML в PDF с использованием свойства form_field_behaviour.

Следующий код на языке Python демонстрирует, как добавить шифрование в выходной файл PDF с помощью класса PdfRenderingOptions:

 1# Render HTML to PDF with password protection using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering as rn
 6import aspose.html.rendering.pdf as rp
 7import aspose.html.rendering.pdf.encryption as rpe
 8
 9# Setup input and output directories
10data_dir = "data/"
11output_dir = "output/"
12os.makedirs(output_dir, exist_ok=True)
13
14# Prepare path to the source HTML file
15document_path = os.path.join(data_dir, "document.html")
16
17# Initialize an HTML document from the file
18doc = ah.HTMLDocument(document_path)
19
20# Create an instance of the HTML Renderer
21renderer = rn.HtmlRenderer()
22
23# Prepare path to save the converted PDF
24save_path = os.path.join(output_dir, "convert-html-to-pdf-with-encryption.pdf")
25
26# Create PDF rendering options and set password protection
27options = rp.PdfRenderingOptions()
28options.encryption = rpe.PdfEncryptionInfo(
29    user_password="user_pwd",
30    owner_password="owner_pwd",
31    permissions=rpe.PdfPermissions.PRINT_DOCUMENT,
32    encryption_algorithm=rpe.PdfEncryptionAlgorithm.RC4_128
33)
34
35# Create the PDF device with options and output path
36device = rp.PdfDevice(options, save_path)
37
38# Render HTML to PDF
39renderer.render(device, doc)

В примере выше показано, как создать новый экземпляр PdfRenderingOptions и задать параметры шифрования для выходного файла PDF. Для этого необходимо создать объект PdfEncryptionInfo, который определяет настройки шифрования для PDF-файла. Конструктор принимает четыре параметра:

Параметры рендеринга изображений – ImageRenderingOptions

Класс ImageRenderingOptions поддерживает все общие параметры и позволяет настраивать специфические параметры, такие как сглаживание, конфигурация рендеринга текста, выбор формата изображения и сжатие изображения.

PropertyDescription
compressionSets Tagged Image File Format (TIFF) compression. By default, this property is LZW.
formatSets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG.
use_antialiasingThis property defines the rendering quality of the image by controlling the use of antialiasing. Antialiasing is enabled by default.
textGets a TextOptions object which is used for configuration of text rendering.

Рассмотрим, как использовать специализированный объект ImageRenderingOptions для установки формата TIFF и сжатия изображения:

 1# Render HTML to TIFF with custom settings 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 TIFF file
13document_path = os.path.join(data_dir, "html_file.html")
14save_path = os.path.join(output_dir, "document.tiff")
15
16# Initialize an HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create rendering options for image format (TIFF in this case)
20image_options = ri.ImageRenderingOptions(ri.ImageFormat.TIFF)
21image_options.compression = ri.Compression.NONE
22
23# Create an ImageDevice and specify options and output file
24device = ri.ImageDevice(image_options, save_path)
25
26# Render HTML to TIFF
27doc.render_to(device)

Параметры рендеринга XPS – XpsRenderingOptions

XpsRenderingOptions наследует все параметры от базового класса RenderingOptions. Вы можете настроить размер страницы, поля, цвет фона и другие общие параметры при генерации файлов XPS.

 1# Render HTML to XPS with custom page settings using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.xps as rx
 6import aspose.html.drawing as dr
 7
 8# Setup input and output directories
 9data_dir = "data/"
10output_dir = "output/"
11os.makedirs(output_dir, exist_ok=True)
12
13# Prepare a path to the source HTML file
14document_path = os.path.join(data_dir, "document.html")
15
16# Initialize the HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create an instance of XPS Rendering Options
20options = rx.XpsRenderingOptions()
21
22# Set custom page size (5 x 2 inches)
23options.page_setup.any_page = dr.Page(dr.Size(dr.Length.from_inches(5.0), dr.Length.from_inches(2.0)))
24
25# Prepare a path to save the converted file
26save_path = os.path.join(output_dir, "document-options.xps")
27
28# Create an XpsDevice with the specified options and output file
29device = rx.XpsDevice(options, save_path)
30
31# Render HTML to XPS
32doc.render_to(device)

Параметры рендеринга DOC – DocRenderingOptions

Класс DocRenderingOptions поддерживает все общие параметры и позволяет настраивать свойства font_embedding_rule и document_format для выходного файла.

PropertyDescription
font_embedding_ruleThis property gets or sets the font embedding rule. Available values are Full and None. The default value is None.
document_formatThis property gets or sets the file format of the output document. The default value is DOCX.

В следующем примере показано, как настроить параметры рендеринга для выходного документа DOCX, задав размер страницы и правило встраивания шрифта:

 1# Render HTML to DOCX with custom settings using Python
 2
 3import os
 4import aspose.html as ah
 5import aspose.html.rendering.doc as rd
 6import aspose.html.drawing as dr
 7
 8# Setup input and output directories
 9data_dir = "data/"
10output_dir = "output/"
11os.makedirs(output_dir, exist_ok=True)
12
13# Prepare a path to the source HTML file
14document_path = os.path.join(data_dir, "nature.html")
15
16# Initialize the HTML document from the file
17doc = ah.HTMLDocument(document_path)
18
19# Create an instance of DocRenderingOptions and set a custom page size
20options = rd.DocRenderingOptions()
21options.page_setup.any_page = dr.Page(dr.Size(dr.Length.from_inches(8.0), dr.Length.from_inches(10.0)))
22options.font_embedding_rule = rd.FontEmbeddingRule.FULL
23
24# Prepare a path to save the converted file
25save_path = os.path.join(output_dir, "nature-options.docx")
26
27# Create a DocDevice with the specified options and output file
28device = rd.DocDevice(options, save_path)
29
30# Render HTML to DOCX
31doc.render_to(device)

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

Текст “Веб-приложения HTML”

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.