Convertir plantilla a HTML – Ejemplos de C#

Aspose.HTML for .NET ofrece un conjunto de métodos ConvertTemplate() que se utilizan para convertir una plantilla HTML en un documento HTML. Los métodos toman varios parámetros, como la ruta al archivo de plantilla, la fuente de datos y las opciones de carga, y devuelven un documento HTML. La plantilla HTML es una pieza de código HTML que contiene marcadores de posición para datos dinámicos. Estos marcadores de posición se denominan expresiones y están encerrados entre llaves dobles, como esta: {{expresión}}. La fuente de datos proporciona los valores reales para estas expresiones. El método ConvertTemplate() sustituye las expresiones de la plantilla con valores de la fuente de datos, generando un documento HTML completo. Este método se puede utilizar con varios tipos de fuentes de datos, como XML y JSON.

Este artículo describe cómo convertir plantillas a HTML en ejemplos de C# utilizando la biblioteca Aspose.HTML for .NET.

Convierta una plantilla a HTML con una sola línea de código

Una vez que haya preparado una plantilla HTML, puede convertirla a HTML en su aplicación C# literalmente con una sola línea de código. Para hacer esto, debe pasar los parámetros requeridos al método ConvertTemplate(sourcePath, data, options, outputPath).

1// Convert template to HTML
2Converter.ConvertTemplate(
3    Path.Combine(DataDir, "template.html"),
4    new TemplateData(Path.Combine(DataDir, "data-source.json")),
5    new TemplateLoadOptions(),
6    Path.Combine(OutputDir, "template-with-single-line.html")
7);

Convertir plantilla a HTML

Usemos el método ConvertTemplate(HTMLDocument, TemplateData, TemplateLoadOptions, string) para convertir una plantilla HTML en un documento HTML real. El método toma cuatro parámetros:

  1. El objeto HTMLDocument se utiliza como fuente para la plantilla.
  2. El objeto TemplateData contiene los datos que se utilizarán para completar la plantilla.
  3. El objeto TemplateLoadOptions proporciona opciones para cargar la plantilla.
  4. Se utiliza un parámetro string para especificar la ruta completa del archivo HTML como resultado de la conversión de salida.

El método utiliza la información de estos parámetros para generar un documento HTML.

 1// Prepare a path to an HTML source file
 2var sourcePath = Path.Combine(DataDir, "template.html");
 3
 4// Prepare a path to an xml template data file
 5var templateDataPath = Path.Combine(DataDir, "templateData.xml");
 6
 7// Define TemplateData object instance
 8var templateData = new TemplateData(templateDataPath);
 9
10// Prepare a path to the result file
11var resultPath = Path.Combine(OutputDir, "result.html");
12
13// Define default TemplateLoadOptions object
14var options = new TemplateLoadOptions();
15
16// Initialize an HTML document as conversion source
17var document = new HTMLDocument(sourcePath, new Configuration());
18
19// Convert template to HTML
20Converter.ConvertTemplate(document, templateData, options, resultPath);
21
22// Clear resources
23document.Dispose();

El código crea una instancia de la clase HTMLDocument y utiliza el método Converter.ConvertTemplate() para convertir un archivo de plantilla (template.html) en un documento HTML utilizando un archivo de origen de datos (templateData. xml). El método toma cuatro parámetros: el objeto HTMLDocument, el objeto TemplateData creado usando el archivo fuente de datos, el objeto TemplateLoadOptions y la ruta del archivo para el documento HTML resultante. El documento HTML resultante se guarda en la ruta del archivo especificada (result.html). Después de la conversión, se elimina el objeto “documento”.

Convertir plantilla a HTML sobre la marcha

Si tu caso implica especificar datos y crear una plantilla sobre la marcha, debes seguir algunos pasos:

  1. Prepare una plantilla HTML y guárdela en un archivo. El método ConvertTemplate() toma la ruta del archivo de plantilla como parámetro (sourcePath).
  2. Prepare una fuente de datos JSON y XML y guárdela en un archivo. El constructor TemplateData() toma la ruta a este archivo de datos y crea un objeto de datos (“datos”) para el método ConvertTemplate().
  3. Inicialice una instancia de la clase TemplateLoadOptions para determinar si los nombres de la plantilla y del elemento de datos coinciden, independientemente de si son mayúsculas o no (options).
  4. Invoque el método ConvertTemplate() y pásele sourcePath, data, options y outputPath. OutputPath es una ruta para guardar archivos de plantilla llenos de datos.
 1// Prepare a path to JSON data source file
 2string jsonPath = Path.Combine(OutputDir, "data-source.json");
 3
 4// Prepare a JSON data source and save it to the file
 5var data = @"{
 6    ""FirstName"": ""John"",
 7    ""LastName"": ""Doe"",
 8    ""Address"": {
 9        ""City"": ""Dallas"",
10        ""Street"": ""Austin rd."",
11        ""Number"": ""200""
12        }
13    }";
14File.WriteAllText(jsonPath, data);
15
16// Prepare a path to an HTML Template file
17string sourcePath = Path.Combine(OutputDir, "template.html");
18
19// Prepare an HTML Template and save it to the file
20var template = @"
21    <table border=1>
22        <tr>
23            <th>Person</th>
24            <th>Address</th>
25        </tr>
26        <tr>
27            <td>{{FirstName}} {{LastName}}</td>
28            <td>{{Address.Street}} {{Address.Number}}, {{Address.City}}</td>
29        </tr>
30    </table>
31    ";
32File.WriteAllText(sourcePath, template);
33
34// Prepare a path to the output file (data-filled template file)
35string outputPath = Path.Combine(OutputDir, "template-output.html");
36
37// Invoke Converter.ConvertTemplate in order to populate 'template.html' with the data source from 'data-source.json' file
38Converter.ConvertTemplate(sourcePath, new TemplateData(jsonPath), new TemplateLoadOptions(), outputPath);

Aspose.HTML ofrece Convertidores gratuitos en línea para convertir archivos HTML, XHTML, MHTML, EPUB, XML y Markdown a una variedad de formatos populares. Puede convertir fácilmente HTML a PDF, HTML a JPG, SVG a PDF, MHTML a PDF o MD a HTML. Simplemente seleccione un archivo, elija el formato a convertir y listo. ¡Es rápido y completamente gratis!

Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.