Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Lorsqu’on traite du contenu HTML externe, il y a toujours un risque de comportement imprévisible de la part des scripts ou des médias dans la page. Aspose.HTML for Python via .NET fournit un mécanisme de sandboxing qui vous permet de contrôler quels éléments du document peuvent être exécutés ou chargés pendant le traitement. Cela assure un rendu et une conversion de HTML sûrs, prévisibles et efficaces.
La plupart des scénarios de traitement HTML, tels que la conversion HTML en PDF ou images, ne nécessitent pas l’exécution de JavaScript ni l’utilisation de contenu distant. Permettre l’accès à de telles ressources peut ralentir le processus ou même causer un comportement indésirable. En utilisant les drapeaux de sandbox, vous pouvez désactiver ou restreindre explicitement les types de ressources tels que les scripts, les images, les plugins, les formulaires, etc. Cela vous donne un contrôle granulaire sur ce que votre document peut faire pendant le rendu ou la conversion.
L’exemple suivant montre comment désactiver JavaScript lors de la conversion HTML en PDF. Cela assure qu’aucun script n’est exécuté pendant le rendu – idéal pour des conversions sûres en PDF ou autres formats.
Sandbox.SCRIPTS. Cela marque les scripts comme ressources non fiables dans l’environnement sandbox. Cette étape est cruciale car les scripts représentent un risque potentiel dans l’exécution de code malveillant.HTMLDocument(address, configuration) qui prend le chemin du fichier HTML et l’instance de configuration.Converter.convert_html() pour convertir HTML en PDF. 1# How to disable scripts for HTML to PDF conversion using Python
2
3import os
4import aspose.html as ah
5import aspose.html.converters as conv
6import aspose.html.saving as sav
7
8# Define input and output directories
9data_dir = "data"
10output_dir = "output"
11os.makedirs(output_dir, exist_ok=True)
12
13# Create an instance of the Configuration class
14with ah.Configuration() as config:
15 # Mark "scripts" as an untrusted resource
16 config.security |= ah.Sandbox.SCRIPTS
17
18 # Initialize an HTML document with the specified configuration
19 html_path = os.path.join(data_dir, "document-with-scripts.html")
20 with ah.HTMLDocument(html_path, config) as doc:
21 # Convert HTML to PDF
22 output_pdf = os.path.join(output_dir, "document-sandbox.pdf")
23 conv.Converter.convert_html(doc, sav.PdfSaveOptions(), output_pdf)Résultat : Tout JavaScript dans le document HTML sera ignoré, produisant une sortie statique et sécurisée.
Suivez ces étapes simples pour désactiver le chargement d’images et convertir HTML en PDF en toute sécurité en utilisant Aspose.HTML for Python via .NET :
<span> avec un style en ligne qui définit une image d’arrière-plan depuis l’URL.Sandbox.IMAGES dans la configuration pour marquer toutes les images comme ressources non fiables.Converter.convert_html() pour rendre le document et le sauvegarder comme un fichier PDF. 1# Disable loading images in HTML with sandbox configuration using Python
2
3import os
4import aspose.html as ah
5import aspose.html.converters as conv
6import aspose.html.saving as sav
7
8# Prepare HTML code and save it to a file
9code = "<span style=\"background-image:url('https://docs.aspose.com/html/images/work/lioness.jpg')\">Hello, World!!</span> " \
10 "<script>document.write('Have a nice day!');</script>"
11
12output_dir = "output"
13os.makedirs(output_dir, exist_ok=True)
14html_path = os.path.join(output_dir, "sandboxing.html")
15output_pdf = os.path.join(output_dir, "sandboxing-out.pdf")
16
17with open(html_path, "w", encoding="utf-8") as file:
18 file.write(code)
19
20# Create an instance of Configuration
21with ah.Configuration() as configuration:
22 # Mark 'IMAGES' as an untrusted resource
23 configuration.security |= ah.Sandbox.IMAGES
24
25 # Initialize an HTML document with the specified configuration
26 with ah.HTMLDocument(html_path, configuration) as document:
27 # Convert HTML to PDF
28 conv.Converter.convert_html(document, sav.PdfSaveOptions(), output_pdf)Résultat : Les images d’URLs externes ne seront pas chargées, et le PDF de sortie contiendra uniquement du contenu texte statique.
1. Quelles options de sandbox sont disponibles ?
Aspose.HTML fournit plusieurs drapeaux de sandbox que vous pouvez combiner, tels que :
Sandbox.SCRIPTS – Désactive l’exécution de JavaScript.Sandbox.IMAGES – Bloque le chargement d’images externes.Sandbox.NAVIGATION – Empêche les redirections ou tentatives de navigation.Sandbox.FORMS – Désactive l’envoi de formulaires et l’activité liée.Sandbox.PLUGINS – Empêche le contenu d’instancier des plugins.2. Comment le sandboxing améliore-t-il les performances ?
En ignorant l’exécution de scripts et en empêchant les requêtes réseau pour les ressources externes, le sandboxing réduit significativement le temps de traitement et l’utilisation des ressources pendant la conversion.
3. Comment puis-je combiner plusieurs restrictions de sandbox ?
Vous pouvez activer plusieurs restrictions à la fois, par exemple :
configuration.security |= ah.Sandbox.SCRIPTS | ah.Sandbox.IMAGES
Cette ligne désactive à la fois l’exécution de JavaScript et le chargement d’images dans une seule configuration.
4. Le sandboxing est-il disponible pour d’autres langages ?
Oui. La même fonctionnalité est disponible dans Aspose.HTML for .NET et Aspose.HTML for Java, avec des APIs similaires pour gérer les restrictions de sandbox.
5. Quels sont les cas d’utilisation courants pour le sandboxing ?
Vous pouvez télécharger les exemples complets et les fichiers de données depuis GitHub.
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.