Параметры рендеринга – Настройка 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
:
1import os
2import aspose.html as ah
3import aspose.html.rendering as rn
4import aspose.html.rendering.pdf as rp
5import aspose.html.rendering.pdf.encryption as rpe
6
7# Setup input and output directories
8data_dir = "data/"
9output_dir = "output/"
10os.makedirs(output_dir, exist_ok=True)
11
12# Prepare path to the source HTML file
13document_path = os.path.join(data_dir, "document.html")
14
15# Initialize an HTML document from the file
16doc = ah.HTMLDocument(document_path)
17
18# Create an instance of the HTML Renderer
19renderer = rn.HtmlRenderer()
20
21# Prepare path to save the converted PDF
22save_path = os.path.join(output_dir, "convert-html-to-pdf-with-encryption.pdf")
23
24# Create PDF rendering options and set password protection
25options = rp.PdfRenderingOptions()
26options.encryption = rpe.PdfEncryptionInfo(
27 user_password="user_pwd",
28 owner_password="owner_pwd",
29 permissions=rpe.PdfPermissions.PRINT_DOCUMENT,
30 encryption_algorithm=rpe.PdfEncryptionAlgorithm.RC4_128
31)
32
33# Create the PDF device with options and output path
34device = rp.PdfDevice(options, save_path)
35
36# Render HTML to PDF
37renderer.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 и сжатия изображения:
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 TIFF file
11document_path = os.path.join(data_dir, "html_file.html")
12save_path = os.path.join(output_dir, "html_file.tiff")
13
14# Initialize an HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create rendering options for image format (TIFF in this case)
18image_options = ri.ImageRenderingOptions(ri.ImageFormat.TIFF)
19image_options.compression = ri.Compression.NONE
20
21# Create an ImageDevice and specify options and output file
22device = ri.ImageDevice(image_options, save_path)
23
24# Render HTML to TIFF
25doc.render_to(device)
Параметры рендеринга XPS – XpsRenderingOptions
XpsRenderingOptions наследует все параметры от базового класса RenderingOptions. Вы можете настроить размер страницы, поля, цвет фона и другие общие параметры при генерации файлов XPS.
1import os
2import aspose.html as ah
3import aspose.html.rendering.xps as rx
4import aspose.html.drawing as dr
5
6# Setup input and output directories
7data_dir = "data/"
8output_dir = "output/"
9os.makedirs(output_dir, exist_ok=True)
10
11# Prepare a path to the source HTML file
12document_path = os.path.join(data_dir, "document.html")
13
14# Initialize the HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create an instance of XPS Rendering Options
18options = rx.XpsRenderingOptions()
19
20# Set custom page size (5 x 2 inches)
21options.page_setup.any_page = dr.Page(dr.Size(dr.Length.from_inches(5.0), dr.Length.from_inches(2.0)))
22
23# Prepare a path to save the converted file
24save_path = os.path.join(output_dir, "document-options.xps")
25
26# Create an XpsDevice with the specified options and output file
27device = rx.XpsDevice(options, save_path)
28
29# Render HTML to XPS
30doc.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, задав размер страницы и правило встраивания шрифта:
1import os
2import aspose.html as ah
3import aspose.html.rendering.doc as rd
4import aspose.html.drawing as dr
5
6# Setup input and output directories
7data_dir = "data/"
8output_dir = "output/"
9os.makedirs(output_dir, exist_ok=True)
10
11# Prepare a path to the source HTML file
12document_path = os.path.join(data_dir, "document.html")
13
14# Initialize the HTML document from the file
15doc = ah.HTMLDocument(document_path)
16
17# Create an instance of DocRenderingOptions and set a custom page size
18options = rd.DocRenderingOptions()
19options.page_setup.any_page = dr.Page(dr.Size(dr.Length.from_inches(8.0), dr.Length.from_inches(10.0)))
20options.font_embedding_rule = rd.FontEmbeddingRule.FULL
21
22# Prepare a path to save the converted file
23save_path = os.path.join(output_dir, "document-options.docx")
24
25# Create a DocDevice with the specified options and output file
26device = rd.DocDevice(options, save_path)
27
28# Render HTML to DOCX
29doc.render_to(device)
Aspose.HTML предлагает бесплатные онлайн Конверторы, которые позволяют преобразовать файлы HTML, XHTML, MHTML, EPUB, XML и Markdown в различные популярные форматы. Вы можете легко конвертировать HTML-документы в PDF, XPS, DOCX, JPG, PNG, GIF, TIFF и другие. Просто выберите файл, выберите формат для преобразования, и все готово.