Criar tabela em arquivos PDF em C# .NET

As tabelas são usadas para representar dados na forma de linhas e colunas. Uma tabela permite que os leitores passem pelos dados rapidamente sem ler muito texto. Ao gerar os arquivos PDF programaticamente, muitas vezes você pode encontrar a necessidade de criar tabelas. De acordo com isso, este artigo aborda como criar uma tabela em arquivos PDF em C# .NET.

API C# .NET para criar tabela em PDF - Download grátis

Usaremos Aspose.PDF for .NET para criar tabelas em arquivos PDF. A API foi projetada para gerar e manipular PDF dentro dos aplicativos .NET. Ele permite que você crie arquivos PDF de layouts simples e complexos sem problemas. Você pode baixar os binários da API ou instalá-la usando NuGet.

PM> Install-Package Aspose.PDF

Criar uma tabela em um PDF em C#

Você pode criar tabelas em um arquivo PDF novo ou existente usando o Aspose.PDF para .NET. A seguir estão as etapas para criar uma tabela em um arquivo PDF em C#.

O exemplo de código a seguir mostra como criar uma tabela em um arquivo PDF usando C#.

// Criar documento PDF (para carregar o arquivo existente, inicialize o objeto Documento com o caminho do arquivo)
Document document = new Document();
            
// Adicionar Página
Aspose.Pdf.Page page = document.Pages.Add();

// Inicializa uma nova instância da Tabela
Aspose.Pdf.Table table = new Aspose.Pdf.Table();
            
// Defina a cor da borda da tabela como LightGray
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
            
// Definir a borda das células da tabela
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, .5f, Aspose.Pdf.Color.FromRgb(System.Drawing.Color.LightGray));
            
// Crie um loop para adicionar 10 linhas
for (int row_count = 1; row_count < 10; row_count++)
{
    // Adicionar linha à tabela
    Aspose.Pdf.Row row = table.Rows.Add();
    // Adicionar células de tabela
    row.Cells.Add("Column (" + row_count + ", 1)");
    row.Cells.Add("Column (" + row_count + ", 2)");
    row.Cells.Add("Column (" + row_count + ", 3)");
}

// Adicionar tabela à página
page.Paragraphs.Add(table);

// Salve o documento PDF
document.Save("Generated-PDF.pdf");

A seguir está a saída do exemplo de código acima.

Criar uma tabela em um arquivo PDF em C#

C# Criar tabela PDF com bordas e margens personalizadas

Você também pode personalizar as bordas e margens das tabelas em PDF conforme suas necessidades. Por exemplo, você pode definir a largura da borda, o estilo da borda e as margens superior, inferior, esquerda e direita. A seguir estão as etapas para definir bordas e margens para as tabelas em arquivos PDF em C#.

O exemplo de código a seguir mostra como definir bordas e margens para tabelas em PDF usando C#.

// Criar documento PDF (para carregar o arquivo existente, inicialize o objeto Documento com o caminho do arquivo)
Document document = new Document();

// Adicionar Página
Aspose.Pdf.Page page = document.Pages.Add();

// Inicializa uma nova instância da Tabela
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Definir com larguras de coluna da tabela
table.ColumnWidths = "50 50 50";

// Definir a borda da célula padrão usando o objeto BorderInfo
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

// Definir a borda da tabela usando outro objeto BorderInfo personalizado
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);
            
// Crie o objeto MarginInfo e defina suas margens esquerda, inferior, direita e superior
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
margin.Top = 5f;
margin.Left = 5f;
margin.Right = 5f;
margin.Bottom = 5f;

// Defina o preenchimento de célula padrão para o objeto MarginInfo
table.DefaultCellPadding = margin;
            
// Criar linhas na tabela e depois células nas linhas
Aspose.Pdf.Row row1 = table.Rows.Add();
row1.Cells.Add("col1");
row1.Cells.Add("col2");
row1.Cells.Add();
TextFragment mytext = new TextFragment("col3 with large text string");
            
// Row1.Cells.Add("col3 com string de texto grande a ser colocada dentro da célula");
row1.Cells[2].Paragraphs.Add(mytext);
row1.Cells[2].IsWordWrapped = false;
            
// Row1.Cells[2].Paragraphs[0].FixedWidth= 80;
Aspose.Pdf.Row row2 = table.Rows.Add();
row2.Cells.Add("item1");
row2.Cells.Add("item2");
row2.Cells.Add("item3");

// Adicionar tabela à página
page.Paragraphs.Add(table);

// Salve o documento PDF
document.Save("Generated-PDF.pdf");

A captura de tela a seguir mostra a saída do exemplo de código acima.

Criar tabela PDF com bordas e margens personalizadas C#

C# Aplicar ajuste de coluna a tabelas PDF

O Aspose.PDF para .NET também permite que você personalize o ajuste de coluna da tabela em um PDF. Por exemplo, você pode ajustar automaticamente a tabela à janela ou ao conteúdo. A seguir estão as etapas para definir o ajuste de coluna de uma tabela em PDF usando C#.

O exemplo de código a seguir mostra como definir o ajuste de coluna da tabela em PDF usando C#.

// Criar documento PDF (para carregar o arquivo existente, inicialize o objeto Documento com o caminho do arquivo)
Document document = new Document();

// Adicionar Página
Aspose.Pdf.Page page = document.Pages.Add();

// Inicializa uma nova instância da Tabela
Aspose.Pdf.Table table = new Aspose.Pdf.Table();

// Definir com larguras de coluna da tabela
table.ColumnWidths = "50 50 50";

// Definir ajuste de coluna
table.ColumnAdjustment = ColumnAdjustment.AutoFitToWindow;

// Definir a borda da célula padrão usando o objeto BorderInfo
table.DefaultCellBorder = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 0.1F);

// Definir a borda da tabela usando outro objeto BorderInfo personalizado
table.Border = new Aspose.Pdf.BorderInfo(Aspose.Pdf.BorderSide.All, 1F);

// Crie o objeto MarginInfo e defina suas margens esquerda, inferior, direita e superior
Aspose.Pdf.MarginInfo margin = new Aspose.Pdf.MarginInfo();
margin.Top = 5f;
margin.Left = 5f;
margin.Right = 5f;
margin.Bottom = 5f;

// Defina o preenchimento de célula padrão para o objeto MarginInfo
table.DefaultCellPadding = margin;

// Criar linhas na tabela e depois células nas linhas
Aspose.Pdf.Row row1 = table.Rows.Add();
row1.Cells.Add("col1");
row1.Cells.Add("col2");
row1.Cells.Add();
TextFragment mytext = new TextFragment("col3 with large text string");

// Row1.Cells.Add("col3 com string de texto grande a ser colocada dentro da célula");
row1.Cells[2].Paragraphs.Add(mytext);
row1.Cells[2].IsWordWrapped = false;

// Row1.Cells[2].Paragraphs[0].FixedWidth= 80;
Aspose.Pdf.Row row2 = table.Rows.Add();
row2.Cells.Add("item1");
row2.Cells.Add("item2");
row2.Cells.Add("item3");

// Adicionar tabela à página
page.Paragraphs.Add(table);

// Salve o documento PDF
document.Save("Generated-PDF.pdf");

C# .NET PDF API para criar tabelas - Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita para usar o Aspose.PDF para .NET sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como criar tabelas em arquivos PDF usando C#. Além disso, você viu como personalizar as bordas. margens e ajuste de coluna de uma tabela em PDF. Além disso, você pode explorar mais sobre a API C# PDF usando a documentação. Caso você tenha alguma dúvida ou pergunta, entre em contato conosco através do nosso fórum.

Veja também