Adicionar coluna repetida em documento PDF

Neste tutorial, aprenderemos como adicionar uma coluna repetida em um documento PDF usando Aspose.PDF for .NET. Explicaremos o código-fonte em C# passo a passo. Ao final deste tutorial, você saberá como criar uma tabela com coluna repetida em um documento PDF. Vamos começar!

Passo 1: Configurando o ambiente

Primeiro, certifique-se de configurar seu ambiente de desenvolvimento C# com Aspose.PDF for .NET. Adicione a referência à biblioteca e importe os namespaces necessários.

Passo 2: Criando o documento PDF

Nesta etapa, criamos um novo documento PDF.

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

Criamos um documento PDF vazio onde podemos adicionar conteúdo.

Etapa 3: Criando as tabelas

Nesta etapa criamos uma tabela principal (outerTable) e uma tabela aninhada (mytable) que será repetido na coluna.

Table outerTable = new Table();
outerTable.ColumnWidths = "100%";
outerTable.HorizontalAlignment = HorizontalAlignment.Left;

Table mytable = new Table();
mytable.Broken = TableBroken.VerticalInSamePage;
mytable.ColumnAdjustment = ColumnAdjustment.AutoFitToContent;

Especificamos propriedades da tabela, como largura da coluna e modo de quebra de tabela aninhada.

Passo 4: Adicionando as tabelas ao documento

Agora adicionamos as tabelas criadas ao documento PDF.

page.Paragraphs.Add(outerTable);
var bodyRow = outerTable.Rows.Add();
var bodyCell = bodyRow.Cells.Add();
bodyCell.Paragraphs.Add(mytable);
mytable.RepeatingColumnsCount = 5;
page.Paragraphs.Add(mytable);

Primeiro adicionamos a tabela principal (outerTable) para o documento PDF. A seguir, adicionamos a tabela aninhada (mytable ) como um parágrafo em uma célula da tabela principal. Também especificamos o número de colunas repetidas paramytable (neste exemplo, 5 colunas).

Etapa 5: adicionar cabeçalhos e linhas

Agora adicionamos os cabeçalhos e as linhas à tabela.

Row headerRow = mytable.Rows.Add();
headerRow.Cells.Add("header 1");
headerRow.Cells.Add("header 2");
headerRow.Cells.Add("header 3");
// ...
// Adicione outros cabeçalhos aqui

for (int RowCounter = 0; RowCounter <= 5; RowCounter++)
{
     Row row1 = mytable.Rows.Add();
     row1.Cells.Add("col " + RowCounter.ToString() + ", 1");
     row1.Cells.Add("col " + RowCounter.ToString() + ", 2");
     row1.Cells.Add("col " + RowCounter.ToString() + ", 3");
     // ...
     // Adicione as outras colunas aqui
}

Primeiro adicionamos os cabeçalhos à primeira linha da tabela (headerRow). Em seguida, adicionamos as linhas de dados de um loop. Neste exemplo, adicionamos 6 linhas de dados.

Passo 6: Salvando o documento PDF

Finalmente, salvamos o documento PDF no arquivo especificado.

string outFile = dataDir + "AddRepeatingColumn_out.pdf";
doc.Save(outFile);

Certifique-se de especificar o diretório e o nome de arquivo corretos para salvar o arquivo PDF de saída.

Exemplo de código-fonte para adicionar coluna repetida usando Aspose.PDF para .NET

// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";

string outFile = dataDir + "AddRepeatingColumn_out.pdf";
// Crie um novo documento
Document doc = new Document();
Aspose.Pdf.Page page = doc.Pages.Add();

// Instancie uma tabela externa que ocupe a página inteira
Aspose.Pdf.Table outerTable = new Aspose.Pdf.Table();
outerTable.ColumnWidths = "100%";
outerTable.HorizontalAlignment = HorizontalAlignment.Left;

//Instancie um objeto de tabela que será aninhado dentro de outerTable que irá quebrar dentro da mesma página
Aspose.Pdf.Table mytable = new Aspose.Pdf.Table();
mytable.Broken = TableBroken.VerticalInSamePage;
mytable.ColumnAdjustment = ColumnAdjustment.AutoFitToContent;

// Adicione o outerTable aos parágrafos da página
// Adicione minha tabela a outerTable
page.Paragraphs.Add(outerTable);
var bodyRow = outerTable.Rows.Add();
var bodyCell = bodyRow.Cells.Add();
bodyCell.Paragraphs.Add(mytable);
mytable.RepeatingColumnsCount = 5;
page.Paragraphs.Add(mytable);

// Adicionar linha de cabeçalho
Aspose.Pdf.Row row = mytable.Rows.Add();
row.Cells.Add("header 1");
row.Cells.Add("header 2");
row.Cells.Add("header 3");
row.Cells.Add("header 4");
row.Cells.Add("header 5");
row.Cells.Add("header 6");
row.Cells.Add("header 7");
row.Cells.Add("header 11");
row.Cells.Add("header 12");
row.Cells.Add("header 13");
row.Cells.Add("header 14");
row.Cells.Add("header 15");
row.Cells.Add("header 16");
row.Cells.Add("header 17");

for (int RowCounter = 0; RowCounter <= 5; RowCounter++)

{
	// Crie linhas na tabela e depois células nas linhas
	Aspose.Pdf.Row row1 = mytable.Rows.Add();
	row1.Cells.Add("col " + RowCounter.ToString() + ", 1");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 2");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 3");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 4");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 5");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 6");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 7");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 11");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 12");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 13");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 14");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 15");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 16");
	row1.Cells.Add("col " + RowCounter.ToString() + ", 17");
}
doc.Save(outFile);

Conclusão

Neste tutorial, aprendemos como adicionar uma coluna repetida em um documento PDF usando Aspose.PDF for .NET. Você pode usar este guia passo a passo para criar tabelas com colunas repetidas em seus próprios projetos C#.

Perguntas frequentes sobre como adicionar colunas repetidas em documentos PDF

P: Posso personalizar o número de colunas repetidas na tabela aninhada?

R: Sim, você pode personalizar o número de colunas repetidas na tabela aninhada. No exemplo fornecido, definimosmytable.RepeatingColumnsCount = 5;, o que significa que haverá 5 colunas repetidas. Você pode alterar esse valor para qualquer número desejado.

P: É possível adicionar mais linhas à tabela aninhada dinamicamente?

R: Sim, você pode adicionar dinamicamente mais linhas à tabela aninhada da mesma forma mostrada no tutorial. Você pode usar loops ou qualquer outra lógica para adicionar linhas com base nos seus dados.

P: Posso aplicar estilos e formatação à tabela e suas células?

R: Sim, você pode aplicar estilos e formatação à tabela e suas células usando Aspose.PDF for .NET. A biblioteca fornece várias propriedades e métodos para personalizar a aparência da tabela e seu conteúdo.

P: O Aspose.PDF for .NET é compatível com o .NET Core?

R: Sim, Aspose.PDF for .NET é compatível com .NET Core. Você pode usá-lo em aplicativos .NET Framework e .NET Core.

P: Posso usar esta abordagem para adicionar colunas repetidas em um documento PDF existente?

R: Sim, você pode usar esta abordagem para adicionar colunas repetidas em um documento PDF existente. Basta carregar o documento existente usando Aspose.PDF for .NET e seguir as mesmas etapas para criar e adicionar a coluna de repetição.