Convertir HTML en JPG en C#
Les fichiers JPG peuvent contenir des données d’image de haute qualité avec une compression sans perte. Cette fonction de compression unique permet de partager rapidement et efficacement des images JPG et de les utiliser largement sur le web, les ordinateurs et les appareils mobiles. Il peut être nécessaire de convertir des fichiers HTML en image JPG, par exemple pour ajouter une page web à une présentation PowerPoint ou l’envoyer par courrier électronique. L’utilisation des méthodes Converter.ConvertHTML est la manière la plus courante de convertir le code HTML dans différents formats. JPG est un format couramment utilisé pour le stockage d’images, et la conversion de HTML en JPG est très répandue. Avec Aspose.HTML for .NET, vous pouvez convertir du code HTML au format JPG de manière programmatique en contrôlant totalement un large éventail de paramètres de conversion.
Dans cet article, vous trouverez des informations sur la conversion de HTML en JPG en utilisant les méthodes ConvertHTML() de la classe Converter et en appliquant les paramètres ImageSaveOptions et ICreateStreamProvider.
Convertisseur HTML en ligne
Vous pouvez vérifier la fonctionnalité de l’API Aspose.HTML for .NET et convertir du HTML en temps réel. Veuillez charger HTML à partir du système de fichiers local, sélectionnez le format de sortie et exécutez l’exemple. Dans l’exemple, les options d’enregistrement sont définies par défaut. Vous recevrez immédiatement le résultat dans un fichier séparé.
Si vous souhaitez convertir HTML en JPG par programme, veuillez consulter les exemples de code C# suivants.
HTML à JPG par une seule ligne de code
Les méthodes statiques de la classe Converter sont principalement utilisées comme moyen le plus simple de convertir du code HTML dans différents formats. Vous pouvez convertir HTML en JPG dans votre application C# en une seule ligne de code !
1// Convert HTML to JPG in C#
2
3// Invoke the ConvertHTML() method to convert the HTML code to JPG image
4Converter.ConvertHTML(@"<h1>Convert HTML to JPG!</h1>", ".", new ImageSaveOptions(ImageFormat.Jpeg), Path.Combine(OutputDir, "convert-with-single-line.jpg"));
Convertir HTML en JPG
La conversion d’un fichier dans un autre format à l’aide de la méthode ConvertHTML() est une séquence d’opérations parmi lesquelles le chargement et l’enregistrement de documents :
- Chargement d’un fichier HTML à l’aide de la classe HTMLDocument ( spring.html).
- Créez un nouvel objet
ImageSaveOptions avec
ImageFormat.Jpeg
. Par défaut, la propriété Format est PNG. - Utilisez la méthode ConvertHTML() de la classe Converter pour enregistrer HTML en tant qu’image JPG. Vous devez transmettre les paramètres HTMLDocument, ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertHTML() pour convertir le HTML en JPG.
Jetez un coup d’œil à l’extrait de code C# suivant, qui illustre le processus de conversion de HTML en JPG à l’aide d’Aspose.HTML for .NET.
1// Convert HTML to JPG using C#
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "spring.html");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "spring-output.jpg");
8
9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create an instance of the ImageSaveOptions class
13ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg);
14
15// Convert HTML to JPG
16Converter.ConvertHTML(document, options, savePath);
La figure illustre le fichier spring-output.jpg.
Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
Sauvegarder les options
La fonctionnalité de création d’images JPG peut être améliorée grâce à des options d’enregistrement adaptées à vos besoins. Aspose.HTML for .NET permet de convertir du HTML en JPG en utilisant des options d’enregistrement par défaut ou personnalisées. l’utilisation de ImageSaveOptions vous permet de personnaliser le processus de rendu. Vous pouvez spécifier le image format, la page size, les margins, le CSS media-type, etc.
Property | Description |
---|---|
Compression | Sets Tagged Image File Format (TIFF) Compression. By default, this property is LZW. |
CSS | Gets a CssOptions object which is used for configuration of CSS properties processing. |
Format | Sets the ImageFormat (JPG, PNG, BMP, TIFF, or GIF). By default, this property is PNG. |
BackgroundColor | This property sets the color that will fill the background. By default, this property is Transparent. |
PageSetup | This property gets a page setup object and uses it for configuration output page-set. |
HorizontalResolution | Sets horizontal resolution for output images in pixels per inch. The default value is 300 dpi. |
VerticalResolution | Sets vertical resolution for output images in pixels per inch. The default value is 300 dpi. |
UseAntialiasing | This property sets the image rendering quality. Antialiasing is enabled by default. |
Text | Gets a TextOptions object which is used for configuration of text rendering. |
L’exemple suivant montre comment utiliser ImageSaveOptions et créer l’image de sortie avec des options d’enregistrement personnalisées telles que la taille de la page et la couleur d’arrière-plan :
1// Convert HTML to JPG in C# with custom settings
2
3string documentPath = Path.Combine(OutputDir, "save-options.html");
4string savePath = Path.Combine(OutputDir, "save-options-output.jpg");
5
6// Prepare HTML code and save it to a file
7string code = "<h1> Image SaveOptions </h1>\r\n" +
8 "<p>Using ImageSaveOptions Class, you can programmatically apply a wide range of conversion parameters such as BackgroundColor, Format, Compression, PageSetup, etc.</p>\r\n";
9
10File.WriteAllText(documentPath, code);
11
12// Initialize an HTML Document from the html file
13using HTMLDocument document = new HTMLDocument(documentPath);
14
15// Set up the page-size 500x250 pixels, margins and change the background color to AntiqueWhite
16ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg)
17{
18 BackgroundColor = System.Drawing.Color.AntiqueWhite
19};
20options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(500, 250), new Margin(40, 40, 20, 20));
21
22// Convert HTML to JPG
23Converter.ConvertHTML(document, options, savePath);
Pour en savoir plus sur la classe ImageSaveOptions, veuillez lire l’article Convertisseurs à réglage fin.
Convertir HTML en JPG en utilisant ImageSaveOptions
Pour convertir HTML en JPG en spécifiant ImageSaveOptions, vous devez suivre quelques étapes :
- Charger un fichier HTML en utilisant l’un des constructeurs HTMLDocument() de la classe HTMLDocument ( color.html).
- Créez un nouvel objet ImageSaveOptions avec le format d’image JPG et spécifiez les options d’enregistrement. Par défaut, la propriété Format est PNG.
- Utilisez la méthode ConvertHTML() de la classe Converter pour enregistrer HTML en tant qu’image JPG. Vous devez transmettre les paramètres HTMLDocument, ImageSaveOptions et le chemin du fichier de sortie à la méthode ConvertHTML() pour convertir le HTML en JPG.
L’extrait de code C# suivant montre comment convertir HTML en JPG en utilisant des options d’enregistrement personnalisées :
1// Convert HTML to JPG in C# with with custom background, resolution, and antialiasing settings
2
3// Prepare a path to a source HTML file
4string documentPath = Path.Combine(DataDir, "color.html");
5
6// Prepare a path to save the converted file
7string savePath = Path.Combine(OutputDir, "color-output-options.jpg");
8
9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Initialize ImageSaveOptions
13ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg)
14{
15 UseAntialiasing = true,
16 HorizontalResolution = 200,
17 VerticalResolution = 200,
18 BackgroundColor = System.Drawing.Color.AliceBlue
19};
20options.PageSetup.AnyPage = new Page(new Aspose.Html.Drawing.Size(500, 500), new Margin(30, 20, 10, 10));
21
22// Convert HTML to JPG
23Converter.ConvertHTML(document, options, savePath);
Le constructeur
ImageSaveOptions() initialise une instance de la classe ImageSaveOptions qui est passée à la méthode ConvertHTML(). La méthode ConvertHTML() prend le document
, les options
, le chemin du fichier de sortie savePath
et effectue l’opération de conversion.
Dans l’exemple ci-dessus, nous utilisons :
- propriété
BackgroundColor
qui définit la couleur de l’arrière-plan. La couleur d’arrière-plan par défaut estTransparent
. - Les propriétés Horizon
talResolution et
VerticalResolution` définissent la résolution horizontale/verticale des images de sortie en pixels par pouce. Par défaut, ces propriétés sont de 300 dpi. - propriété
UseAntialiasing
qui définit la qualité du rendu pour cette image. Cet exemple utiliseUseAntialiasing = true
pour un rendu de qualité. - propriété
PageSetup
qui spécifie la page size et les margins en pixels.
Utilisez UseAntialiasing = true
lorsque vous souhaitez améliorer la qualité visuelle des formes, textes et images rendus dans votre application, en particulier lorsque la clarté et les bords lisses sont essentiels. L’activation de l’anticrénelage permet de lisser les bords irréguliers en mélangeant les couleurs des pixels autour des bords, ce qui donne un aspect plus doux et plus raffiné.
Bien que UseAntialiasing = true
offre une meilleure qualité visuelle, il peut aussi augmenter le temps de traitement. Pour les applications où la vitesse de rendu est une priorité, il peut être optimal de mettre UseAntialiasing = false
.
La figure illustre le fichier color-output-options.jpg.
Fournisseurs de flux de sortie
S’il est nécessaire d’enregistrer des fichiers dans un espace de stockage distant (par exemple, un nuage, une base de données, etc.), vous pouvez mettre en œuvre l’interface ICreateStreamProvider pour contrôler manuellement le processus de création de fichiers. Cette interface est conçue comme un objet de rappel pour créer un flux au début du document/de la page (en fonction du format de sortie) et libérer le flux créé au début après le rendu du document/de la page.
Aspose.HTML for .NET propose différents types de formats de sortie pour les opérations de rendu. Certains de ces formats produisent un seul fichier de sortie (par exemple, PDF, XPS), d’autres créent plusieurs fichiers (formats d’image – JPG, PNG, etc.)
L’exemple ci-dessous montre comment mettre en œuvre et utiliser votre propre MemoryStreamProvider dans l’application :
1// Implement a custom MemoryStream provider for advanced control over HTML rendering output streams
2
3class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider
4{
5 // List of MemoryStream objects created during the document rendering
6 public List<MemoryStream> Streams { get; } = new List<MemoryStream>();
7
8 public Stream GetStream(string name, string extension)
9 {
10 // This method is called when only one output stream is required, for instance for XPS, PDF or TIFF formats
11 MemoryStream result = new MemoryStream();
12 Streams.Add(result);
13 return result;
14 }
15
16 public Stream GetStream(string name, string extension, int page)
17 {
18 // This method is called when the creation of multiple output streams are required. For instance, during the rendering HTML to list of image files (JPG, PNG, etc.)
19 MemoryStream result = new MemoryStream();
20 Streams.Add(result);
21 return result;
22 }
23
24 public void ReleaseStream(Stream stream)
25 {
26 // Here you can release the stream filled with data and, for instance, flush it to the hard-drive
27 }
28
29 public void Dispose()
30 {
31 // Releasing resources
32 foreach (MemoryStream stream in Streams)
33 stream.Dispose();
34 }
35}
L’extrait de code suivant montre comment convertir un fichier HTML en fichier JPG à l’aide d’un flux de mémoire.
1// Convert HTML to JPG in C# using memory stream
2
3// Create an instance of MemoryStreamProvider
4using MemoryStreamProvider streamProvider = new MemoryStreamProvider();
5
6// Initialize an HTML document
7using HTMLDocument document = new HTMLDocument(@"<h1>Convert HTML to JPG File Format!</h1>", ".");
8
9// Convert HTML to JPG using the MemoryStreamProvider
10Converter.ConvertHTML(document, new ImageSaveOptions(ImageFormat.Jpeg), streamProvider);
11
12// Get access to the memory stream that contains the result data
13MemoryStream memory = streamProvider.Streams.First();
14memory.Seek(0, SeekOrigin.Begin);
15
16// Flush the result data to the output file
17using (FileStream fs = File.Create(Path.Combine(OutputDir, "stream-provider.jpg")))
18{
19 memory.CopyTo(fs);
20}
Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.
Téléchargez la bibliothèque Aspose.HTML for .NET, qui vous permet de convertir avec succès, rapidement et facilement vos documents HTML, MHTML, EPUB, SVG et Markdown vers les formats les plus populaires.
Aspose.HTML propose un Convertisseur HTML en JPG gratuit en ligne qui convertit HTML en image JPG de haute qualité, facilement et rapidement. Il suffit de télécharger, de convertir vos fichiers et d’obtenir des résultats en quelques secondes !