Etiquetas HTML dentro de una tabla en un archivo PDF

En este tutorial, aprenderemos a utilizar etiquetas HTML dentro de una tabla en un documento PDF utilizando Aspose.PDF para .NET. Explicaremos el código fuente en C# paso a paso. Al final de este tutorial, sabrá cómo insertar contenido HTML en una tabla en un documento PDF. ¡Comencemos!

Paso 1: Configuración del entorno

Asegúrese de haber configurado su entorno de desarrollo de C# con Aspose.PDF para .NET. Agregue la referencia a la biblioteca e importe los espacios de nombres necesarios.

Paso 2: Creación de datos de la tabla

Creamos una DataTable que contiene una columna “data” de tipo String. Luego agregamos filas a esta DataTable mediante contenido HTML.

DataTable dt = new DataTable("Employee");
dt.Columns.Add("data", System.Type.GetType("System.String"));

DataRow dr = dt.NewRow();
dr[0] = "<li>Department of Emergency Medicine: 3400 Spruce Street Ground Silverstein Bldg Philadelphia PA 19104-4206</li>";
dt.Rows.Add(dr);
dr = dt. NewRow();
dr[0] = "<li>Penn Observation Medicine Service: 3400 Spruce Street Ground Floor Donner Philadelphia PA 19104-4206</li>";
dt.Rows.Add(dr);
dr = dt. NewRow();
dr[0] = "<li>UPHS/Presbyterian - Dept. of Emergency Medicine: 51 N. 39th Street . Philadelphia PA 19104-2640</li>";
dt.Rows.Add(dr);

Paso 3: Creación del documento y la tabla

Creamos un nuevo documento PDF y añadimos una página a este documento. A continuación, inicializamos una instancia de la clase Table y configuramos las propiedades de la tabla.

Document doc = new Document();
doc.Pages.Add();

Aspose.Pdf.Table tableProvider = new Aspose.Pdf.Table();
tableProvider. ColumnWidths = "400 50";
tableProvider.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
tableProvider.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
margin. Top = 2.5F;
margin. Left = 2.5F;
margin. Bottom = 1.0F;
tableProvider. DefaultCellPadding = margin;

Paso 4: Importar datos a la tabla

Importamos los datos de la DataTable a la tabla mediante el método “ImportDataTable”. Especificamos los parámetros del método para indicar qué rango de filas y columnas de la DataTable se deben importar.

tableProvider.ImportDataTable(dt, false, 0, 0, 3, 1, true);

Paso 5: Agregar la tabla al documento

Añadimos la tabla a la página del documento.

doc.Pages[1].Paragraphs.Add(tableProvider);

Etapa 6: Guardar el documento

Guardamos el documento PDF con la tabla que contiene el contenido HTML.

doc.Save(dataDir + "HTMLInsideTableCell_out.pdf");

Código fuente de ejemplo para etiquetas HTML dentro de una tabla utilizando Aspose.PDF para .NET

// La ruta al directorio de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";

DataTable dt = new DataTable("Employee");
dt.Columns.Add("data", System.Type.GetType("System.String"));

DataRow dr = dt.NewRow();
dr[0] = "<li>Department of Emergency Medicine: 3400 Spruce Street Ground Silverstein Bldg Philadelphia PA 19104-4206</li>";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "<li>Penn Observation Medicine Service: 3400 Spruce Street Ground Floor Donner Philadelphia PA 19104-4206</li>";
dt.Rows.Add(dr);
dr = dt.NewRow();
dr[0] = "<li>UPHS/Presbyterian - Dept. of Emergency Medicine: 51 N. 39th Street . Philadelphia PA 19104-2640</li>";
dt.Rows.Add(dr);

Document doc = new Document();
doc.Pages.Add();
// Inicializa una nueva instancia de la tabla
Aspose.Pdf.Table tableProvider = new Aspose.Pdf.Table();
//Establecer el ancho de las columnas de la tabla
tableProvider.ColumnWidths = "400 50 ";
// Establezca el color del borde de la tabla como gris claro
tableProvider.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
// Establecer el borde de las celdas de la tabla
tableProvider.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.5F, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
margin.Top = 2.5F;
margin.Left = 2.5F;
margin.Bottom = 1.0F;
tableProvider.DefaultCellPadding = margin;

tableProvider.ImportDataTable(dt, false, 0, 0, 3, 1, true);

doc.Pages[1].Paragraphs.Add(tableProvider);
doc.Save(dataDir + "HTMLInsideTableCell_out.pdf");

Conclusión

En este tutorial, aprendimos a usar etiquetas HTML dentro de una tabla en un documento PDF con Aspose.PDF para .NET. Puedes usar esta guía paso a paso para insertar contenido HTML en celdas de tabla en un documento PDF con C#.

Preguntas frecuentes sobre las etiquetas HTML dentro de una tabla en un archivo PDF

P: ¿Puedo utilizar otras etiquetas y atributos HTML dentro de las celdas de la tabla?

R: Sí, puede utilizar varias etiquetas y atributos HTML dentro de las celdas de la tabla, como<b>, <i>, <a>muchos más. Aspose.PDF para .NET admite una amplia gama de elementos y estilos HTML que puede utilizar para dar formato al contenido dentro de las celdas de la tabla.

P: ¿Puedo aplicar estilos CSS al contenido HTML dentro de las celdas de la tabla?

R: Sí, puedes aplicar estilos CSS al contenido HTML dentro de las celdas de la tabla. Aspose.PDF para .NET ofrece compatibilidad con estilos CSS básicos que se pueden aplicar a los elementos HTML.

P: ¿Es posible agregar imágenes junto con el contenido HTML dentro de las celdas de la tabla?

R: Sí, puedes agregar imágenes junto con contenido HTML dentro de las celdas de la tabla. Puedes usar HTML<img> etiquetas para incluir imágenes de varias fuentes, como archivos locales o URL.

P: ¿Cómo puedo especificar diferentes anchos de columna para la tabla?

A: Puede especificar diferentes anchos de columna para la tabla utilizando elColumnWidths Propiedad de la tabla. La propiedad toma una cadena que contiene valores separados por espacios, donde cada valor representa el ancho de una columna en puntos.

P: ¿Puedo utilizar tablas anidadas dentro de una celda con contenido HTML?

R: Sí, puedes usar tablas anidadas dentro de una celda con contenido HTML. Puedes crear instancias de tabla independientes y agregarlas como parte del contenido HTML dentro de una celda para lograr el efecto de anidación.