Rendering-Optionen – HTML-Rendering anpassen
Die Rendering-Optionen bieten eine detaillierte Kontrolle darüber, wie das Rendering-Gerät Inhalte verarbeitet. Jedes Gerät – PdfDevice, XpsDevice, DocDevice und ImageDevice – hat seine eigene Klasse von Optionen: PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions, und ImageRenderingOptions. Mit diesen Optionen können Sie Seitengröße, Ränder und Farben anpassen sowie gerätespezifische Einstellungen vornehmen, z. B. das Hinzufügen eines Sicherheitskennworts zu PDF-Dateien. Die Anpassung ist entscheidend, um die gewünschten Ergebnisse zu erzielen, sei es die Reduzierung der Dateigröße durch Anpassung der Bildqualität und -auflösung oder die Verbesserung der Lesbarkeit durch optimiertes Seitenlayout und Textformatierung.
In diesem Artikel werden die Rendering-Optionen in Aspose.HTML for Python via .NET untersucht. Es wird gezeigt, wie die Konvertierung von HTML-Inhalten in Ausgabeformate wie PDF, XPS, DOCX und Bilder angepasst werden kann. Diese Optionen umfassen allgemeine Einstellungen wie Seitengröße, Hintergrundfarbe und Auflösung sowie gerätespezifische Einstellungen wie Bildkomprimierung, PDF-Sicherheit und Schrifteinbettung, die eine vollständige Kontrolle über die endgültige Ausgabe ermöglichen.
Hier finden Sie Python-Code-Beispiele, die die Verwendung von gerätspezifischen Parametern demonstrieren. Die Verwendung allgemeiner Optionen wird im Kapitel “How-to-Artikel” (in Vorbereitung) behandelt.
Um mehr über den Rendering-Prozess zu erfahren, lesen Sie bitte den Artikel Rendering Device.
PdfRenderingOptions
Die Klasse
PdfRenderingOptions unterstützt neben allgemeinen Optionen mehrere spezifische Parameter, wie jpeg_quality
, document_info
, encryption
, form_field_behaviour
und 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. |
Die Eigenschaft form_field_behaviour
wird verwendet, um das Verhalten von Formularfeldern in einem PDF-Dokument festzulegen. Was es bedeutet, eine PDF-Datei zu reduzieren, und wie man dies mit der Aspose.HTML for Python via .NET-Bibliothek macht, erfahren Sie im Abschnitt
HTML-zu-PDF-Konvertierung und PDF-Flattening.
Der folgende Python-Code zeigt, wie eine PDF-Ausgabedatei mit Hilfe der Klasse PdfRenderingOptions
verschlüsselt werden kann:
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)
Das obige Beispiel zeigt, wie Sie eine neue PdfRenderingOptions-Instanz erstellen und Verschlüsselungsoptionen für eine PDF-Ausgabedatei festlegen. Zu diesem Zweck müssen Sie ein PdfEncryptionInfo-Objekt erstellen, das die Verschlüsselungseinstellungen für die PDF-Datei definiert. Der Konstruktor benötigt vier Parameter:
user_password
undowner_password
, die zum Öffnen und Arbeiten mit der PDF-Datei erforderlich sind;permissions
– eine Reihe von erlaubten Berechtigungen für eine PDF-Datei. In diesem Fall istPdfPermissions.PRINT_DOCUMENT
angegeben, wodurch der Benutzer das Dokument drucken kann;encryption_algorithm
– der Verschlüsselungsalgorithmus, der zum Schutz der PDF-Datei verwendet wird. In diesem Fall wirdPdfEncryptionAlgorithm.RC4_128
verwendet, ein 128-Bit-RC4-Verschlüsselungsalgorithmus.
ImageRenderingOptions
Die Klasse ImageRenderingOptions unterstützt alle allgemeinen Optionen und ermöglicht die Konfiguration spezifischer Optionen wie Anti-Aliasing, Text-Rendering-Konfiguration, Bildformatauswahl und Bildkomprimierung.
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. |
Betrachten wir, wie man ein spezielles ImageRenderingOptions
-Objekt verwendet, um das TIFF-Format und die Komprimierung für das Bild festzulegen:
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-Rendering-Optionen
XpsRenderingOptions erben alle Einstellungen von der Basisklasse RenderingOptions. Sie können Seitengröße, Ränder, Hintergrundfarbe und andere gängige Optionen für die Erzeugung von XPS-Dateien konfigurieren.
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-Rendering-Optionen
Die Klasse
DocRenderingOptions unterstützt alle allgemeinen Optionen und ermöglicht es Ihnen, die Eigenschaften font_embedding_rule
und document_format
für die Ausgabedatei anzupassen.
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. |
Das folgende Beispiel zeigt, wie Sie die Rendering-Optionen für ein DOCX-Ausgabedokument anpassen können, indem Sie die Regel für die Seitengröße und die Schrifteinbettung festlegen:
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 bietet kostenlose Online- Konverter, die HTML-, XHTML-, MHTML-, EPUB-, XML- und Markdown-Dateien in eine Reihe von gängigen Formaten konvertieren können. Sie können Ihre HTML-basierten Dokumente ganz einfach in PDF, XPS, DOCX, JPG, PNG, GIF, TIFF und andere konvertieren. Wählen Sie einfach eine Datei und das zu konvertierende Format aus, und schon sind Sie fertig.