Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Unterschiedliche Konfigurationen, die auf der Umgebung der Anwendung basieren, können sehr vorteilhaft sein. Die Umgebungskonfiguration ermöglicht es Ihnen zum Beispiel, Skriptrichtlinien anzupassen, Dokumentstile mit einem benutzerdefinierten Stylesheet zu überschreiben oder Webanfragen zu bearbeiten. Um dies zu erleichtern, bietet Aspose.HTML for Java die Klasse
Configuration an, die speziell dafür entwickelt wurde, diese Anforderungen zu erfüllen. Durch die Verwendung des Configuration-Objekts können Sie das Verhalten Ihrer Java-Anwendung mühelos an Ihre spezifischen Bedürfnisse anpassen.
Ein Sandboxing-Flag ist ein Satz von null oder mehr Flags, die die Fähigkeiten von potenziell nicht vertrauenswürdigen Ressourcen einschränken. Eine Sandbox bietet eine sichere und kontrollierte Ausführungsumgebung, indem sie potenziell bösartigen oder nicht vertrauenswürdigen Code vom zugrunde liegenden System und sensiblen Daten isoliert.
Das folgende Java-Beispiel zeigt, wie ein HTML-Dokument in das PDF-Format konvertiert und Sandboxing-Beschränkungen angewandt werden, d. h. wie Scripts als nicht vertrauenswürdige Ressource gekennzeichnet werden. Infolgedessen werden Scripts während der Ausführung der Anwendung deaktiviert.
1// How to disable scripts for HTML to PDF conversion using Java
2
3// Prepare HTML code and save it to a file
4String code = "<span>Hello, World!!</span>\n" +
5 "<script>document.write('Have a nice day!');</script>\n";
6
7try (java.io.FileWriter fileWriter = new java.io.FileWriter("sandboxing.html")) {
8 fileWriter.write(code);
9}
10
11// Create an instance of the Configuration class
12Configuration configuration = new Configuration();
13
14// Mark 'scripts' as an untrusted resource
15configuration.setSecurity(com.aspose.html.Sandbox.Scripts);
16
17// Initialize an HTML document with specified configuration
18HTMLDocument document = new HTMLDocument("sandboxing.html", configuration);
19
20// Convert HTML to PDF
21Converter.convertHTML(document, new PdfSaveOptions(), "sandboxing_out.pdf");Im Beispiel wird eine neue Instanz der Klasse Configuration erstellt, um die Sandbox zu konfigurieren. Die Methode setSecurity() wird für das Objekt Configuration aufgerufen, wobei com.aspose.html.Sandbox.Scripts als Argument übergeben wird. Dieses Flag aktiviert die Sandbox und schränkt die Ausführung von Skripten innerhalb des HTML-Dokuments ein.
Alle wichtigen Funktionen sind aus Gründen der Benutzerfreundlichkeit in getrennten Diensten gruppiert und im Paket com.aspose.html.services untergebracht. Im Zusammenhang mit der Umgebungskonfiguration ermöglicht der User Agent Service die Angabe eines benutzerdefinierten Stylesheets, eines primären Zeichensatzes für das Dokument sowie von Sprach- und Schrifteinstellungen.
Der Benutzer kann benutzerdefinierte Stilinformationen für ein bestimmtes Dokument angeben. Diese Informationen gelten für das Dokument gemäß den Kaskadierungsregeln und können die Darstellung des Dokuments beeinflussen. Der folgende Java-Codeausschnitt zeigt die Verwendung des User Agent Service ( IUserAgentService) zur Anwendung eines benutzerdefinierten Stylesheets auf ein HTML-Dokument, das anschließend in PDF konvertiert wird.
Schauen wir uns nur die notwendigen Schritte an, um eine benutzerdefinierte Stilvorlage in einem HTML-Dokument anzugeben:
Konfiguration(), um eine Instanz der Klasse
Configuration zu erstellen.IUserAgentService.class als Parameter. So erhalten wir eine Instanz des User Agent Service.setUserStyleSheet() des User Agent Service und geben einen CSS-Code als Argument an. In diesem Fall wird die CSS-Regel span { color: green; } verwendet, damit alle <span>-Elemente den Text in grüner Farbe anzeigen. 1// Apply a custom user stylesheet to HTML content and convert it to PDF using Java
2
3// Prepare HTML code and save it to a file
4String code = "<span>Hello, World!!!</span>";
5
6try (java.io.FileWriter fileWriter = new java.io.FileWriter("user-agent-stylesheet.html")) {
7 fileWriter.write(code);
8}
9
10// Create an instance of the Configuration class
11Configuration configuration = new Configuration();
12
13// Get the IUserAgentService
14IUserAgentService userAgent = configuration.getService(IUserAgentService.class);
15
16// Set a custom color to the <span> element
17userAgent.setUserStyleSheet("span { color: green; }");
18
19// Initialize an HTML document with specified configuration
20HTMLDocument document = new HTMLDocument("user-agent-stylesheet.html", configuration);
21
22// Convert HTML to PDF
23Converter.convertHTML(document, new PdfSaveOptions(), "user-agent-stylesheet_out.pdf");Um ein HTML-Dokument korrekt zu parsen und anzuzeigen, muss die Anwendung wissen, welcher Zeichensatz (Kodierung) für das Dokument verwendet wird. Wenn die Zeichenkodierung nicht direkt in der Kopfzeile des Dokuments angegeben ist, verwendet Aspose.HTML UTF-8, das als Standard für die HTML5-Spezifikation definiert ist. Wenn Sie jedoch sicher sind, dass Ihr HTML-Dokument anders als in UTF-8 kodiert ist, können Sie es manuell angeben. Betrachten wir die notwendigen Schritte zur Angabe eines Zeichensatzes (Kodierung) im HTML-Dokument:
IUserAgentService.class als Parameter.setCharSet() des User Agent Service auf und geben Sie den gewünschten Zeichensatz (Kodierung) an. In diesem Beispiel wird ISO-8859-1 als Zeichensatz festgelegt. 1// Set User Agent charset to ISO-8859-1 and convert HTML to PDF using Java
2
3// Prepare HTML code and save it to a file
4String code = "<h1>Character Set</h1>\r\n" +
5 "<p>The <b>CharSet</b> property sets the primary character-set for a document.</p>\r\n";
6
7try (java.io.FileWriter fileWriter = new java.io.FileWriter("user-agent-charset.html")) {
8 fileWriter.write(code);
9}
10
11// Create an instance of the Configuration class
12Configuration configuration = new Configuration();
13
14// Get the IUserAgentService
15IUserAgentService userAgent = configuration.getService(IUserAgentService.class);
16
17// Set ISO-8859-1 encoding to parse the document
18userAgent.setCharSet("ISO-8859-1");
19
20// Initialize an HTML document with specified configuration
21HTMLDocument document = new HTMLDocument("user-agent-charset.html", configuration);
22
23// Convert HTML to PDF
24Converter.convertHTML(document, new PdfSaveOptions(), "user-agent-charset_out.pdf");Durch das Setzen des Zeichensatzes mit der Methode setCharSet() informiert die Anwendung die Aspose.HTML for Java Parsing- und Rendering-Engine über die spezifische Kodierung, die im HTML-Dokument verwendet wird. Dies ist sehr wichtig, da verschiedene Zeichensätze Zeichen unterschiedlich darstellen können, und ohne die korrekten Kodierungsinformationen kann das Dokument möglicherweise nicht genau geparst oder angezeigt werden.
Eines der Hauptmerkmale von Aspose.HTML ist die Fähigkeit, mit benutzerdefinierten Schriftarten zu arbeiten, so dass Entwickler ihre eigenen Schriftarten zum Rendering-Prozess hinzufügen können. Für eine Situation, in der Sie die benutzerdefinierten Schriftarten anstelle der auf dem Betriebssystem installierten Schriftarten verwenden müssen, können Sie den Pfad zu Ihrem benutzerdefinierten Ordner wie folgt festlegen:
1// Set font folder for HTML to PDF conversion using Java
2
3// Prepare HTML code and save it to a file
4String code = "<h1>FontsSettings property</h1>\r\n" +
5 "<p>The FontsSettings property is used for configuration of fonts handling.</p>\r\n";
6
7try (java.io.FileWriter fileWriter = new java.io.FileWriter("user-agent-fontsetting.html")) {
8 fileWriter.write(code);
9}
10
11// Initialize an instance of the Configuration class
12Configuration configuration = new Configuration();
13
14// Get the IUserAgentService
15IUserAgentService userAgent = configuration.getService(IUserAgentService.class);
16
17// Set a custom font folder path
18userAgent.getFontsSettings().setFontsLookupFolder("fonts");
19
20// Initialize an HTML document with specified configuration
21HTMLDocument document = new HTMLDocument("user-agent-fontsetting.html", configuration);
22
23// Convert HTML to PDF
24Converter.convertHTML(document, new PdfSaveOptions(), "user-agent-fontsetting_out.pdf");Um den Schriftordner mit Aspose.HTML for Java festzulegen, verwenden wir die Methode setFontsLookupFolder() der Klasse FontsSettings. Mit dieser Methode können Sie den Ordner angeben, in dem sich die benutzerdefinierten Schriftarten befinden. Durch das Festlegen des Schriftordners sucht Aspose.HTML beim Rendern des HTML-Dokuments nach Schriftarten im angegebenen Ordner.
Die Abbildung zeigt das Ergebnis der Anwendung von FontsSettings und UserStyleSheet (b) auf die Quelldatei “user-agent-fontsetting.html” (a).

Der Runtime Service gibt Ihnen die Kontrolle über die Lebensdauer der internen Prozesse. Mit IRuntimeService können Sie zum Beispiel Timeouts für JavaScripts festlegen. Eine solche Zeitüberschreitung ist wichtig für den Fall, dass ein Skript eine Endlosschleife enthält. Der folgende Codeschnipsel zeigt, wie man den Runtime Service verwendet, um die Ausführungszeit von JavaScript zu begrenzen und ein HTML-Dokument in ein Bildformat zu konvertieren:
<script>-Elements. Wir verwenden den FileWriter(), um den HTML-Code in eine Datei zu schreiben.setJavaScriptTimeout() des Runtime-Dienstes, um die maximal zulässige Ausführungszeit für JavaScript-Code anzugeben. Das Beispiel ist auf 5 Sekunden eingestellt.Wenn im Beispiel die Zeitüberschreitung von 5 Sekunden während der JavaScript-Ausführung überschritten wird, unterbricht Aspose.HTML for Java die Ausführung des JavaScript-Codes und fährt mit dem restlichen HTML-zu-PNG-Konvertierungsprozess fort.
1// Limit JavaScript execution time when converting HTML to image using Java
2
3// Prepare HTML code and save it to a file
4String code = "<h1>Runtime Service</h1>\r\n" +
5 "<script> while(true) {} </script>\r\n" +
6 "<p>The Runtime Service optimizes your system by helping it start apps and programs faster.</p>\r\n";
7
8try (java.io.FileWriter fileWriter = new java.io.FileWriter("runtime-service.html")) {
9 fileWriter.write(code);
10}
11
12// Create an instance of the Configuration class
13Configuration configuration = new Configuration();
14
15// Limit JS execution time to 5 seconds
16IRuntimeService runtimeService = configuration.getService(IRuntimeService.class);
17runtimeService.setJavaScriptTimeout(TimeSpan.fromSeconds(5));
18
19// Initialize an HTML document with specified configuration
20HTMLDocument document = new HTMLDocument("runtime-service.html", configuration);
21
22// Convert HTML to PNG
23Converter.convertHTML(document, new ImageSaveOptions(), "runtime-service_out.png");INetworkService ermöglicht es Ihnen, den gesamten eingehenden/ausgehenden Datenverkehr zu kontrollieren und Ihre benutzerdefinierten Nachrichten-Handler zu implementieren. Er kann für verschiedene Zwecke verwendet werden, wie z. B.: Erstellung eines benutzerdefinierten Caching-Mechanismus, Verfolgung/Protokollierung von Anforderungsnachrichten usw.
Mit der Klasse
MessageHandler und der Überschreibung der Methode invoke() können Sie eine benutzerdefinierte Logik definieren, die bei Netzwerkoperationen ausgeführt wird. Das folgende Beispiel demonstriert die Verwendung von MessageHandlern zur Protokollierung von Informationen über nicht erreichbare Ressourcen. In diesem Beispiel prüft die Logik den Antwortstatuscode und behandelt den Fall, dass die Datei nicht gefunden wird:
1// Log failed HTTP requests with a custom MessageHandler
2
3// Message handler logs all failed requests to the console
4MessageHandler handler = new MessageHandler() {
5 @Override
6 public void invoke(INetworkOperationContext context) {
7 if (context.getResponse().getStatusCode() != HttpURLConnection.HTTP_OK) {
8 System.out.println(String.format("File '%s' Not Found", context.getRequest().getRequestUri().toString()));
9 }
10
11 // Invoke the next message handler in the chain
12 next(context);
13 }
14};Zunächst müssen Sie einen benutzerdefinierten Message-Handler erstellen und ihn wie folgt verwenden:
1// Handle missing image requests with a custom MessageHandler in Aspose.HTML for Java
2
3// Prepare HTML code with missing image file
4String code = "<img src='missing.jpg'>";
5
6try (java.io.FileWriter fileWriter = new java.io.FileWriter("document.html")) {
7 fileWriter.write(code);
8}
9
10// Create an instance of the Configuration class
11Configuration configuration = new Configuration();
12
13// Add ErrorMessageHandler to the chain of existing message handlers
14INetworkService network = configuration.getService(INetworkService.class);
15LogMessageHandler logHandler = new LogMessageHandler();
16network.getMessageHandlers().addItem(logHandler);
17
18// Initialize an HTML document with specified configuration
19// During the document loading, the application will try to load the image and we will see the result of this operation in the console
20HTMLDocument document = new HTMLDocument("document.html", configuration);
21
22// Convert HTML to PNG
23Converter.convertHTML(document, new ImageSaveOptions(), "output.png");Die Funktion Umgebungskonfigurationen in Aspose.HTML for Java ermöglicht Entwicklern die Feinabstimmung des Verhaltens ihrer Anwendungen, um spezifische Anforderungen zu erfüllen. Mit der Klasse “Konfiguration” und den damit verbundenen Diensten können Sie kritische Aspekte wie Sicherheit, Anpassung, Zeichenkodierung, Schrifteinstellungen, Laufzeit und Netzwerkoperationen effektiv verwalten.
Sie können die vollständigen Beispiele und Datendateien unter GitHub herunterladen.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.