Geração de páginas

Geração de páginas

Aspose.PDF FOSS for .NET provides a paragraph-based layout engine for generating PDF content. Tables, floating boxes, headers/footers, and stamps let you build structured pages without manually constructing content-stream operators.


Adição de parágrafos

Page.Paragraphs é o ponto de entrada para a adição de elementos de conteúdo.

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

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

Tabelas de dados

Table Suporta linhas, células, largura de colunas, bordas e estado do 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);

Formatação de células

Cells.Add retorna um Cell onde você pode configurar bordas, acolchamento e conteúdo aninhado.

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

Caixas flutuantes

FloatingBox posiciona o conteúdo em coordenadas absolutas na 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);

Cabeçalhos e pés de papel

HeaderFooter Adiciona conteúdo repetitivo na parte superior ou inferior das páginas.

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

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

Marcas de página

PdfPageStamp sobrepõe o conteúdo de uma página PDF a outra.

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

Dicas e melhores práticas

  • Utilização: Table.ColumnWidths como uma sequência de valores pontuais separados por espaço para controlar o layout.
  • FloatingBox é útil para o posicionamento absoluto combinar com Table para o conteúdo estruturado.
  • HeaderFooter.FromText suporte de {0} como um marcador de página.
  • Adicionar todos os parágrafos antes de ligar Save o motor de layout processa conteúdos em ordem.
  • Utilização: BorderInfo Para adicionar bordas a tabelas, células e caixas flutuantes.

Problemas comuns

EmissãoCausa da morteCorreção
Página de sobrecargas da tabelaMuitas linhas para uma página.A biblioteca se auto-pagina; ajuste as margens, se necessário
Cabeça não aparecendoApplyAsHeader chamou depois de SaveAplicar cabeçalhos antes de salvar
FloatingBox na posição erradaCoordenadas medidas a partir do canto superior esquerdo em unidades de parágrafoVerifique se as unidades correspondem às suas expectativas.

FAQ

Posso criar tabelas de várias páginas?

Sim. Quando uma tabela excede a altura da página disponível, ela continua automaticamente na próxima página.

Como adiciono imagens às células da tabela?

Criar um Image parágrafo e adicioná-lo à célula de Paragraphs coleção.

Posso importar dados de uma matriz para uma tabela?

Sim, usa. Table.ImportArray para preencher uma tabela de um array bidimensional.


Resumo de referência da API

Classe / MétodoDescrição:
ParagraphsElementos de conteúdo ordenados numa página
Paragraphs.AddAnexar um elemento de parágrafo (texto, tabela, gráfico, etc.)
TableDisposição da grade com largura de linhas, células e colunas
Table.ImportArrayPreencher uma tabela de um array
RowsColeção de linhas numa tabela
CellsColeção de células numa linha da tabela
BorderInfoDesignação de bordas para tabelas, células e caixas
FloatingBoxContainer de conteúdo absolutamente posicionado
HeaderFooterRepetir o conteúdo do cabeçalho ou pé de página
HeaderFooter.FromTextCriar cabeçalho/página de rodapé a partir de um modelo de texto
PdfPageStampSuperposição de uma página PDF como um selo

Ver também:

 Português