Convertir un Template en HTML – Exemples en C#
Aspose.HTML for .NET propose un ensemble de méthodes ConvertTemplate() qui sont utilisées pour convertir un modèle HTML en un document HTML. Ces méthodes prennent plusieurs paramètres, tels que le chemin d’accès au fichier de modèle, la source de données et les options de chargement, et renvoient un document HTML. Le modèle HTML est un morceau de code HTML qui contient des espaces réservés pour les données dynamiques. Ces espaces réservés sont appelés expressions et sont entourés d’accolades doubles, comme ceci : {{expression}}. La source de données fournit les valeurs réelles de ces expressions. La méthode ConvertTemplate() remplace les expressions du modèle par les valeurs de la source de données, générant ainsi un document HTML complet. Cette méthode peut être utilisée avec différents types de sources de données, tels que XML et JSON.
Cet article décrit comment convertir un modèle en HTML dans des exemples C# à l’aide de la bibliothèque Aspose.HTML for .NET.
Convertir un modèle en HTML à l’aide d’une seule ligne de code
Une fois que vous avez préparé un modèle HTML, vous pouvez convertir le modèle en HTML dans votre application C#, littéralement avec une seule ligne de code ! Pour ce faire, vous devez passer les paramètres requis à la méthode
ConvertTemplate(sourcePath, data, options, outputPath).
1// Convert Template to HTML using C#
2
3// Convert template to HTML
4Converter.ConvertTemplate(
5 Path.Combine(DataDir, "template.html"),
6 new TemplateData(Path.Combine(DataDir, "data-source.json")),
7 new TemplateLoadOptions(),
8 Path.Combine(OutputDir, "template-with-single-line.html")
9);Convertir un modèle en HTML
Utilisons la méthode
ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string) pour convertir un modèle HTML en un véritable document HTML. La méthode prend quatre paramètres :
- l’objet
HTMLDocumentest utilisé comme source pour le modèle. - l’objet
TemplateDatacontient les données qui seront utilisées pour remplir le modèle. - l’objet
TemplateLoadOptionsfournit des options pour le chargement du modèle. - Un paramètre
stringest utilisé pour spécifier le chemin complet du fichier HTML comme résultat de la conversion.
La méthode utilise les informations de ces paramètres pour générer un document HTML.
1// Populate HTML template with external XML data using C#
2
3// Prepare a path to an HTML source file
4string sourcePath = Path.Combine(DataDir, "template.html");
5
6// Prepare a path to an xml template data file
7string templateDataPath = Path.Combine(DataDir, "templateData.xml");
8
9// Define TemplateData object instance
10TemplateData templateData = new TemplateData(templateDataPath);
11
12// Prepare a path to the result file
13string resultPath = Path.Combine(OutputDir, "result.html");
14
15// Define default TemplateLoadOptions object
16TemplateLoadOptions options = new TemplateLoadOptions();
17
18// Initialize an HTML document as conversion source
19HTMLDocument document = new HTMLDocument(sourcePath, new Configuration());
20
21// Convert template to HTML
22Converter.ConvertTemplate(document, templateData, options, resultPath);
23
24// Clear resources
25document.Dispose();Le code crée une instance de la classe
HTMLDocument et utilise la méthode
Converter.ConvertTemplate method() pour convertir un fichier modèle (template.html) en un document HTML en utilisant un fichier source de données (templateData.xml). La méthode prend quatre paramètres : l’objet HTMLDocument, l’objet TemplateData créé en utilisant le fichier source de données, l’objet TemplateLoadOptions et le chemin d’accès au document HTML résultant. Le document HTML résultant est enregistré dans le chemin d’accès au fichier spécifié (result.html). Après la conversion, l’objet document est éliminé.
Convertir un modèle en HTML à la volée
Si vous devez spécifier des données et créer un modèle à la volée, vous devez suivre quelques étapes :
- Préparer un modèle HTML et le sauvegarder dans un fichier. La méthode ConvertTemplate() prend en paramètre le chemin d’accès au fichier du modèle (
sourcePath). - Préparer une source de données JSON & XML et la sauvegarder dans un fichier. Le constructeur
TemplateData() prend le chemin de ce fichier de données et crée un objet de données (
data) pour la méthode ConvertTemplate(). - Initialiser une instance de la classe
TemplateLoadOptions pour déterminer si les noms du modèle et de l’élément de données correspondent, indépendamment de la casse (
options). - Invoque la méthode
ConvertTemplate() et lui passe
sourcePath,data,options, etoutputPath. OutputPath est le chemin d’enregistrement du fichier de modèle rempli de données.
1// Populate an HTML template with structured JSON data using C#
2
3// Prepare a path to JSON data source file
4string jsonPath = Path.Combine(OutputDir, "data-source.json");
5
6// Prepare a JSON data source and save it to the file
7string data = @"{
8 ""FirstName"": ""John"",
9 ""LastName"": ""Doe"",
10 ""Address"": {
11 ""City"": ""Dallas"",
12 ""Street"": ""Austin rd."",
13 ""Number"": ""200""
14 }
15 }";
16File.WriteAllText(jsonPath, data);
17
18// Prepare a path to an HTML Template file
19string sourcePath = Path.Combine(OutputDir, "template.html");
20
21// Prepare an HTML Template and save it to the file
22string template = @"
23 <table border=1>
24 <tr>
25 <th>Person</th>
26 <th>Address</th>
27 </tr>
28 <tr>
29 <td>{{FirstName}} {{LastName}}</td>
30 <td>{{Address.Street}} {{Address.Number}}, {{Address.City}}</td>
31 </tr>
32 </table>
33 ";
34File.WriteAllText(sourcePath, template);
35
36// Prepare a path to the output file (data-filled template file)
37string outputPath = Path.Combine(OutputDir, "template-output.html");
38
39// Invoke Converter.ConvertTemplate() method in order to populate "template.html" with the data source from "data-source.json" file
40Converter.ConvertTemplate(sourcePath, new TemplateData(jsonPath), new TemplateLoadOptions(), outputPath);Aspose.HTML propose des Convertisseurs gratuits en ligne pour convertir des fichiers HTML, XHTML, MHTML, EPUB, XML et Markdown dans une variété de formats populaires. Vous pouvez facilement convertir HTML en PDF, HTML en JPG, SVG en PDF, MHTML en PDF, ou MD en HTML Il vous suffit de sélectionner un fichier, de choisir le format à convertir, et le tour est joué. C’est rapide et entièrement gratuit !
Vous pouvez télécharger les exemples complets et les fichiers de données sur GitHub.