Generación de página

Generación de página

Aspose.PDF FOSS for .NET proporciona un motor de diseño basado en párrafos para generar contenido PDF. Las tablas, los cuadros flotantes, los encabezados/pies de página y los sellos le permiten crear páginas estructuradas sin construir manualmente los operadores del flujo de contenido.


Añadiendo párrafos

Page.Paragraphs es el punto de entrada para agregar elementos de contenido.

using var doc = new Document();
var page = doc.Pages.Add();

page.Paragraphs.Add(new TextFragment("Hello, PDF!"));
doc.Save("hello.pdf");

Tablas

Table admite filas, celdas, anchos de columna, bordes y estado de texto.

var table = new Table();
table.ColumnWidths = "100 200 100";

var row = table.Rows.Add();
row.Cells.Add("Name");
row.Cells.Add("Description");
row.Cells.Add("Price");

page.Paragraphs.Add(table);

Formato de celda

Cells.Add devuelve un Cell donde puedes configurar bordes, relleno y contenido anidado.

var cell = row.Cells.Add("Styled cell");
cell.Border = new BorderInfo(BorderSide.All, 0.5f);
cell.Margin = new MarginInfo(5, 5, 5, 5);

Cajas flotantes

FloatingBox posiciona el contenido en coordenadas absolutas en la página.

var box = new FloatingBox(200, 100);
box.Left = 72;
box.Top = 700;
box.Paragraphs.Add(new TextFragment("Positioned text"));
page.Paragraphs.Add(box);

Encabezados y pies de página

HeaderFooter agrega contenido repetido en la parte superior o inferior de las páginas.

var header = HeaderFooter.FromText("Document Title");
header.ApplyAsHeader(page);

var footer = HeaderFooter.FromText("Page {0}");
footer.ApplyAsFooter(page);

Sellos de página

PdfPageStamp superpone contenido de una página PDF sobre otra.

var stamp = new PdfPageStamp("watermark.pdf");
stamp.Put(page);

Consejos y mejores prácticas

  • Use Table.ColumnWidths como una cadena de valores de punto separados por espacios para controlar el diseño.
  • FloatingBox es útil para el posicionamiento absoluto — combine con Table para contenido estructurado.
  • HeaderFooter.FromText admite {0} como marcador de posición de número de página.
  • Añada todos los párrafos antes de llamar a Save — el motor de diseño procesa el contenido en orden.
  • Use BorderInfo para agregar bordes a tablas, celdas y cajas flotantes.

Problemas comunes

ProblemaCausaSolución
La tabla desborda la páginaDemasiadas filas para una páginaLa biblioteca paginación automática; ajuste los márgenes si es necesario
El encabezado no apareceApplyAsHeader called after SaveAplique los encabezados antes de guardar
FloatingBox en posición incorrectaCoordenadas medidas desde la esquina superior izquierda en unidades de párrafoVerifique que las unidades coincidan con sus expectativas

Preguntas frecuentes

¿Puedo crear tablas de varias páginas?

Sí. Cuando una tabla supera la altura de página disponible, continúa automáticamente en la página siguiente.

¿Cómo añado imágenes a las celdas de la tabla?

Cree un párrafo Image y añádalo a la colección Paragraphs de la celda.

¿Puedo importar datos de una matriz a una tabla?

Sí. Use Table.ImportArray para poblar una tabla a partir de una matriz bidimensional.


Resumen de referencia de API

Clase / MétodoDescripción
ParagraphsElementos de contenido ordenados en una página
Paragraphs.AddAñadir un elemento de párrafo (texto, tabla, gráfico, etc.)
TableDiseño de cuadrícula con filas, celdas y anchos de columna
Table.ImportArrayRellenar tabla a partir de una matriz
RowsColección de filas en una tabla
CellsColección de celdas en una fila de tabla
BorderInfoEstilo de bordes para tablas, celdas y cuadros
FloatingBoxContenedor de contenido con posición absoluta
HeaderFooterContenido de encabezado o pie de página repetitivo
HeaderFooter.FromTextCrear encabezado/pie de página a partir de una plantilla de texto
PdfPageStampSuperponer una página PDF como sello

Ver también

 Español