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 :

  1. l’objet HTMLDocument est utilisé comme source pour le modèle.
  2. l’objet TemplateData contient les données qui seront utilisées pour remplir le modèle.
  3. l’objet TemplateLoadOptions fournit des options pour le chargement du modèle.
  4. Un paramètre string est 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 :

  1. 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).
  2. 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().
  3. 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).
  4. Invoque la méthode ConvertTemplate() et lui passe sourcePath, data, options, et outputPath. 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.

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.