Параметры рендеринга – Настройка 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.
| Property | Description |
|---|---|
| jpeg_quality | Specifies the quality of JPEG compression for images. The default value is 95. |
| document_info | This property contains information about the output PDF document. |
| encryption | This property gets or sets encryption details. If it is not set, then no encryption will be performed. |
| form_field_behaviour | This property specifies the behavior of form fields in the output PDF document. |
| is_tagged_pdf | If 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-файла. Конструктор принимает четыре параметра:
user_passwordиowner_password, которые необходимы для открытия и работы с PDF-файлом;permissions– набор разрешенных прав для PDF-файла. В данном случае указаноPdfPermissions.PRINT_DOCUMENT, что позволяет пользователю распечатать документ;encryption_algorithm– алгоритм шифрования, используемый для защиты PDF-файла. В данном случае используетсяPdfEncryptionAlgorithm.RC4_128, который представляет собой 128-битный алгоритм шифрования RC4.
Параметры рендеринга изображений – ImageRenderingOptions
Класс ImageRenderingOptions поддерживает все общие параметры и позволяет настраивать специфические параметры, такие как сглаживание, конфигурация рендеринга текста, выбор формата изображения и сжатие изображения.
| Property | Description |
|---|---|
| compression | Sets Tagged Image File Format (TIFF) compression. By default, this property is LZW. |
| format | Sets the
ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
| use_antialiasing | This property defines the rendering quality of the image by controlling the use of antialiasing. Antialiasing is enabled by default. |
| text | Gets 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 для выходного файла.
| Property | Description |
|---|---|
| font_embedding_rule | This property gets or sets the font embedding rule. Available values are Full and None. The default value is None. |
| document_format | This 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 и другие. Просто выберите файл, выберите формат для преобразования, и все готово.
