Dispositif de rendu – Rendering Device – C#
L’utilisation des méthodes ConvertHTML() de la classe Converter est la manière la plus courante de convertir des documents HTML dans différents formats. Cependant, Aspose.HTML for .NET API propose également d’autres méthodes de rendu des documents HTML qui vous permettent de mieux contrôler le processus de rendu dans votre application C#.
Dans cet article, nous décrivons comment utiliser les périphériques de rendu – PdfDevice, XpsDevice, DocDevice, et ImageDevice pour rendre HTML en PDF, XPS, DOCX et images. Dans les exemples C#, le processus de rendu est considéré avec les options de rendu par défaut. Pour en savoir plus, veuillez lire l’article Options de rendu.
Qu’est-ce que le dispositif de rendu dans Aspose.HTML ?
Le dispositif de rendu encapsule une surface de dessin 2D, dont l’API est mise en œuvre à l’aide de l’interface IDevice. Actuellement, l’API fournit les implémentations suivantes : PdfDevice, XpsDevice, DocDevice et ImageDevice : PdfDevice, XpsDevice, DocDevice et ImageDevice, qui sont utilisés pour générer les formats de fichiers PDF, XPS, DOCX et Image, respectivement.
Les périphériques de rendu de l’API Aspose.HTML for .NET sont PdfDevice, XpsDevice, DocDevice et ImageDevice. Il s’agit de classes dotées de constructeurs, de propriétés et de méthodes qui représentent le rendu de HTML vers des documents PDF, XPS, DOCX et des images, respectivement. Chaque dispositif de rendu possède son propre ensemble d’options implémentées avec les classes PdfRenderingOptions, XpsRenderingOptions, DocRenderingOptions, et ImageRenderingOptions respectivement.
Notre bibliothèque C# offre un ensemble d’espaces de noms avec des classes, des méthodes et des propriétés pour rendre HTML aux formats de sortie. Examinons-les plus en détail.
PdfDevice
L’espace de noms Aspose.Html.Rendering.Pdf fournit une classe spécifique PdfDevice ainsi que quelques classes d’options de rendu responsables du rendu vers un document PDF. La classe PdfDevice implémente l’interface IDevice, qui définit la fonctionnalité de base pour le rendu d’un document HTML.
L’exemple C# suivant montre comment utiliser PdfDevice pour convertir HTML en PDF. Le processus de rendu est considéré avec les options de rendu par défaut :
1// Render HTML to PDF using C#
2
3// Prepare HTML code
4string code = @"<span>Hello, World!!</span>";
5
6// Prepare a path to save a converted file
7string savePath = Path.Combine(OutputDir, "document.pdf");
8
9// Initialize an HTML document from the HTML code
10using HTMLDocument document = new HTMLDocument(code, ".");
11
12// Create a PDF Device and specify the output file to render
13using PdfDevice device = new PdfDevice(savePath);
14
15// Render HTML to PDF
16document.RenderTo(device);
Expliquons l’extrait de code C# ci-dessus :
- Tout d’abord, nous créons un document HTML à partir d’une chaîne de code. Ainsi, dans la variable
code
, nous mettons lecontenu
qui sera converti en PDF. - Ensuite, nous préparons un chemin pour l’enregistrement du fichier converti –
savePath
. - En utilisant le constructeur
HTMLDocument(
content
,baseUri
), nous créons une instance de HTMLDocument. - Nous créons un dispositif de rendu – une instance de la classe
PdfDevice. Pour cela, nous utilisons le constructeur PdfDevice(
savePath
). - Enfin, nous appelons la méthode
RenderTo(
device
) avec le périphérique spécifié.
Les options de rendu vous donnent un contrôle supplémentaire sur le processus de rendu. Pour en savoir plus, lisez l’article Options de rendu.
Si vous souhaitez savoir comment utiliser les options de rendu pour redimensionner les pages d’un document en fonction de la taille du contenu et vice versa, veuillez consulter l’article Comment redimensionner un document lors d’une conversion à partir de HTML?
ImageDevice
L’espace de noms Aspose.Html.Rendering.Image fournit une classe spécifique ImageDevice ainsi que quelques classes d’options de rendu responsables du rendu des fichiers HTML dans des formats matriciels : JPG, PNG, BMP, GIF et TIFF.
Dans l’exemple С#, pour convertir le code HTML en image JPG, nous suivons plusieurs étapes :
- Charge un fichier source à partir d’un système de fichiers local en utilisant le constructeur
HTMLDocument(
documentPath
). - Créer une instance de la classe
ImageRenderingOptions en spécifiant
ImageFormat
. Par défaut, le format d’image est PNG. - Créer un périphérique de rendu – une instance de la classe
ImageDevice. Utilisez le constructeur
ImageDevice(
imageOptions
,savePath
) qui prend les options de rendu et le chemin du fichier de sortie comme paramètres. - Rendre HTML en image JPG en utilisant la méthode
RenderTo(
device
). Cette méthode prend en paramètre une instance de la classe ImageDevice.
1// Render HTML to JPG using C#
2
3// Prepare 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 ImageRenderingOptions class
13ImageRenderingOptions imageOptions = new ImageRenderingOptions(ImageFormat.Jpeg);
14
15// Create the Image Device and specify the output file to render
16using ImageDevice device = new ImageDevice(imageOptions, savePath);
17
18// Render HTML to JPG
19document.RenderTo(device);
XpsDevice
L’espace de noms Aspose.Html.Rendering.Xps fournit une classe XpsDevice spécifique pour le rendu des fichiers HTML vers un document XPS. Dans l’exemple C# suivant, le processus de rendu est considéré avec les options de rendu par défaut :
1// Render HTML to XPS using C#
2
3// Prepare 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.xps");
8
9// Initialize an HTML document from the file
10using HTMLDocument document = new HTMLDocument(documentPath);
11
12// Create an instance of the XpsDevice and specify the output file to render
13using XpsDevice device = new XpsDevice(savePath);
14
15// Render HTML to XPS
16document.RenderTo(device);
DocDevice
L’espace de noms Aspose.Html.Rendering.Doc fournit une classe DocDevice spécifique pour le rendu des fichiers HTML au format DOCX. Dans l’exemple C# suivant, le processus de rendu est considéré avec les options de rendu par défaut :
1// Render HTML to DOCX using C#
2
3// Prepare a path to save the converted file
4string savePath = Path.Combine(OutputDir, "document.docx");
5
6// Load a document from 'https://docs.aspose.com/html/files/document.html' web page
7using HTMLDocument document = new HTMLDocument("https://docs.aspose.com/html/files/document.html");
8
9// Create an instance of the DocRenderingOptions class
10DocRenderingOptions docOptions = new DocRenderingOptions();
11
12// Create the DocDevice object and specify the output file to render
13using DocDevice device = new DocDevice(docOptions, savePath);
14
15// Render HTML to DOCX
16document.RenderTo(device);
Vous pouvez télécharger les exemples C# complets et les fichiers de données sur GitHub.
Aspose.HTML propose des Convertisseurs gratuits en ligne qui permettent de convertir des fichiers HTML, XHTML, MHTML, EPUB, XML et Markdown dans toute une série de formats populaires. Vous pouvez facilement convertir vos documents HTML en PDF, XPS, DOCX, JPG, PNG, GIF, TIFF et autres. Il vous suffit de sélectionner un fichier, de choisir le format à convertir et le tour est joué. Cerise sur le gâteau, c’est entièrement gratuit !