Símbolos substituíveis no rodapé do cabeçalho

Neste tutorial, explicaremos como usar símbolos substituíveis no cabeçalho e rodapé de um documento PDF usando a biblioteca Aspose.PDF para .NET. Seguiremos o processo passo a passo de criação de um PDF, definição de margens, adição de cabeçalho e rodapé com símbolos substituíveis e salvamento do PDF usando o código-fonte C# fornecido.

Pré-requisitos

Antes de começar, certifique-se de ter o seguinte:

  • A biblioteca Aspose.PDF para .NET instalada.
  • Uma compreensão básica da programação C#.

Etapa 1: configurar o diretório de documentos

Primeiro, você precisa definir o caminho para o diretório onde deseja salvar o arquivo PDF gerado. Substituir"YOUR DOCUMENT DIRECTORY" nodataDirvariável com o caminho para o diretório desejado.

string dataDir = "YOUR DOCUMENT DIRECTORY";

Etapa 2: crie um documento e uma página PDF

A seguir, criamos um novo documento PDF e adicionamos uma página a ele usando oDocument classe ePage classe da biblioteca Aspose.PDF.

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

Etapa 3: definir margens

Definimos as margens da página usando oMarginInfoaula. Ajuste os valores da margem de acordo com suas necessidades.

MarginInfo marginInfo = new MarginInfo();
marginInfo.Top = 90;
marginInfo.Bottom = 50;
marginInfo.Left = 50;
marginInfo.Right = 50;
page.PageInfo.Margin = marginInfo;

Etapa 4: adicionar cabeçalho com símbolos substituíveis

Nós criamos umHeaderFooter objeto para a página e adicione umTextFragment com símbolos substituíveis.

HeaderFooter hfFirst = new HeaderFooter();
page.Header = hfFirst;
hfFirst.Margin.Left = 50;
hfFirst.Margin.Right = 50;

TextFragment t1 = new TextFragment("report title");
// Defina propriedades de texto, se desejar
t1.TextState.Font = FontRepository.FindFont("Arial");
t1.TextState.FontSize = 16;
t1.TextState.ForegroundColor = Aspose.Pdf.Color.Black;
t1.TextState.FontStyle = FontStyles.Bold;
t1.TextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
t1.TextState.LineSpacing = 5f;

hfFirst.Paragraphs.Add(t1);

// Adicione mais TextFragments ou personalize conforme necessário

Etapa 5: adicionar rodapé com símbolos substituíveis

Da mesma forma, criamos umHeaderFooter objeto para o rodapé da página e adicioneTextFragment objetos com símbolos substituíveis.

HeaderFooter hfFoot = new HeaderFooter();
page.Footer = hfFoot;
hfFoot.Margin.Left = 50;
hfFoot.Margin.Right = 50;

TextFragment t3 = new TextFragment("Generated on test date");
TextFragment t4 = new TextFragment("report name ");
TextFragment t5 = new TextFragment("Page $p of $P");

// Adicione mais TextFragments ou personalize conforme necessário

hfFoot.Paragraphs.Add(tab2);

Etapa 6: salve o documento PDF

Finalmente, salvamos o documento PDF no arquivo de saída especificado.

dataDir = dataDir + "ReplaceableSymbolsInHeaderFooter_out.pdf";
doc.Save(dataDir);
Console.WriteLine("\nReplaceable symbols replaced successfully in the header and footer.\nFile saved at " + dataDir);

Exemplo de código-fonte para símbolos substituíveis no rodapé do cabeçalho usando Aspose.PDF para .NET

// O caminho para o diretório de documentos.
string dataDir = "YOUR DOCUMENT DIRECTORY";
Document doc = new Document();
Page page = doc.Pages.Add();
MarginInfo marginInfo = new MarginInfo();
marginInfo.Top = 90;
marginInfo.Bottom = 50;
marginInfo.Left = 50;
marginInfo.Right = 50;
// Atribua a instância marginInfo à propriedade Margin de sec1.PageInfo
page.PageInfo.Margin = marginInfo;
HeaderFooter hfFirst = new HeaderFooter();
page.Header = hfFirst;
hfFirst.Margin.Left = 50;
hfFirst.Margin.Right = 50;
// Instancie um parágrafo de texto que armazenará o conteúdo para mostrar como cabeçalho
TextFragment t1 = new TextFragment("report title");
t1.TextState.Font = FontRepository.FindFont("Arial");
t1.TextState.FontSize = 16;
t1.TextState.ForegroundColor = Aspose.Pdf.Color.Black;
t1.TextState.FontStyle = FontStyles.Bold;
t1.TextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
t1.TextState.LineSpacing = 5f;
hfFirst.Paragraphs.Add(t1);
TextFragment t2 = new TextFragment("Report_Name");
t2.TextState.Font = FontRepository.FindFont("Arial");
t2.TextState.ForegroundColor = Aspose.Pdf.Color.Black;
t2.TextState.HorizontalAlignment = Aspose.Pdf.HorizontalAlignment.Center;
t2.TextState.LineSpacing = 5f;
t2.TextState.FontSize = 12;
hfFirst.Paragraphs.Add(t2);
// Crie um objeto HeaderFooter para a seção
HeaderFooter hfFoot = new HeaderFooter();
// Defina o objeto HeaderFooter como rodapé ímpar e par
page.Footer = hfFoot;
hfFoot.Margin.Left = 50;
hfFoot.Margin.Right = 50;
// Adicione um parágrafo de texto contendo o número da página atual do número total de páginas
TextFragment t3 = new TextFragment("Generated on test date");
TextFragment t4 = new TextFragment("report name ");
TextFragment t5 = new TextFragment("Page $p of $P");
// Instanciar um objeto de tabela
Table tab2 = new Table();
// Adicione a tabela na coleção de parágrafos da seção desejada
hfFoot.Paragraphs.Add(tab2);
// Definir com larguras de coluna da tabela
tab2.ColumnWidths = "165 172 165";
// Crie linhas na tabela e depois células nas linhas
Row row3 = tab2.Rows.Add();
row3.Cells.Add();
row3.Cells.Add();
row3.Cells.Add();
// Defina o alinhamento vertical do texto como alinhado ao centro
row3.Cells[0].Alignment = Aspose.Pdf.HorizontalAlignment.Left;
row3.Cells[1].Alignment = Aspose.Pdf.HorizontalAlignment.Center;
row3.Cells[2].Alignment = Aspose.Pdf.HorizontalAlignment.Right;
row3.Cells[0].Paragraphs.Add(t3);
row3.Cells[1].Paragraphs.Add(t4);
row3.Cells[2].Paragraphs.Add(t5);
//Sec1.Paragraphs.Add(New Text("Aspose.Total for Java é uma compilação de todos os componentes Java oferecidos pelo Aspose. Ele é compilado #$NL" + "diariamente para garantir que contenha as versões mais atualizadas de cada de nossos componentes Java. #$NL " + "Usando Aspose.Total para desenvolvedores Java pode criar uma ampla gama de aplicativos. #$NL #$NL #$NP" + "Aspose.Total for Java é uma compilação de cada componente Java oferecido por Aspose. Ele é compilado#$NL" + "diariamente para garantir que contenha as versões mais atualizadas de cada um de nossos componentes Java. #$NL " + "Usar Aspose.Total para desenvolvedores Java pode criar uma ampla gama de aplicações. #$NL #$NL #$NP" + "Aspose.Total for Java é uma compilação de todos os componentes Java oferecidos pelo Aspose. Ele é compilado #$NL" + "diariamente para garantir que contenha o máximo versões atualizadas de cada um de nossos componentes Java. #$NL " + "Usando Aspose.Total para desenvolvedores Java pode criar uma ampla gama de aplicações. #$NL #$NL"))
Table table = new Table();
table.ColumnWidths = "33% 33% 34%";
table.DefaultCellPadding = new MarginInfo();
table.DefaultCellPadding.Top = 10;
table.DefaultCellPadding.Bottom = 10;
// Adicione a tabela na coleção de parágrafos da seção desejada
page.Paragraphs.Add(table);
// Definir borda de célula padrão usando o objeto BorderInfo
table.DefaultCellBorder = new BorderInfo(BorderSide.All, 0.1f);
// Defina a borda da tabela usando outro objeto BorderInfo personalizado
table.Border = new BorderInfo(BorderSide.All, 1f);
table.RepeatingRowsCount = 1;
// Crie linhas na tabela e depois células nas linhas
Row row1 = table.Rows.Add();
row1.Cells.Add("col1");
row1.Cells.Add("col2");
row1.Cells.Add("col3");
const string CRLF = "\r\n";
for (int i = 0; i <= 10; i++)
{
	Row row = table.Rows.Add();
	row.IsRowBroken = true;
	for (int c = 0; c <= 2; c++)
	{
		Cell c1;
		if (c == 2)
			c1 = row.Cells.Add("Aspose.Total for Java is a compilation of every Java component offered by Aspose. It is compiled on a" + CRLF + "daily basis to ensure it contains the most up to date versions of each of our Java components. " + CRLF + "daily basis to ensure it contains the most up to date versions of each of our Java components. " + CRLF + "Using Aspose.Total for Java developers can create a wide range of applications.");
		else
			c1 = row.Cells.Add("item1" + c);
		c1.Margin = new MarginInfo();
		c1.Margin.Left = 30;
		c1.Margin.Top = 10;
		c1.Margin.Bottom = 10;
	}
}
dataDir = dataDir + "ReplaceableSymbolsInHeaderFooter_out.pdf";
doc.Save(dataDir);
Console.WriteLine("\nSymbols replaced successfully in header and footer.\nFile saved at " + dataDir);

Conclusão

Neste tutorial, você aprendeu como usar símbolos substituíveis no cabeçalho e rodapé de um documento PDF usando a biblioteca Aspose.PDF para .NET. Seguindo o guia passo a passo e executando o código C# fornecido, você pode criar um PDF, definir margens, adicionar cabeçalho e rodapé com símbolos substituíveis e salvar o PDF.

Perguntas frequentes

P: Qual é o objetivo do tutorial “Símbolos substituíveis no rodapé do cabeçalho”?

R: O tutorial “Símbolos substituíveis no rodapé do cabeçalho” tem como objetivo guiá-lo através do processo de uso da biblioteca Aspose.PDF para .NET para adicionar símbolos substituíveis ao cabeçalho e rodapé de um documento PDF. Os símbolos substituíveis permitem substituir dinamicamente espaços reservados específicos por valores reais ao gerar o PDF.

P: O que são símbolos substituíveis no contexto de cabeçalho e rodapé de PDF?

R: Símbolos substituíveis são espaços reservados que você pode inserir no cabeçalho e rodapé de um documento PDF. Esses símbolos atuam como espaços reservados dinâmicos para valores que podem ser preenchidos em tempo de execução, como números de página, datas e informações personalizadas.

P: Por que eu desejaria usar símbolos substituíveis em um cabeçalho e rodapé de PDF?

R: Símbolos substituíveis no cabeçalho e rodapé são úteis quando você deseja incluir informações dinâmicas em seus documentos PDF, como números de página, datas ou outros dados variáveis que podem mudar quando o documento é gerado.

P: Como posso definir as margens da página PDF?

R: Você pode definir as margens da página PDF usando oMarginInfo classe e atribuí-la aoMargin propriedade doPageInfo da página. Ajuste os valores da margem conforme necessário.

P: Como adiciono símbolos substituíveis ao cabeçalho e rodapé?

R: Você pode adicionar símbolos substituíveis criando umHeaderFooter objeto para o cabeçalho e rodapé da página. Então, você pode adicionarTextFragmentobjetos com o texto desejado, incluindo símbolos substituíveis, para oParagraphs coleção doHeaderFooter objeto.

P: Posso personalizar a aparência dos símbolos substituíveis?

R: Sim, você pode personalizar a aparência dos símbolos substituíveis modificando as propriedades doTextFragment objetos que contêm os símbolos. Você pode definir propriedades como fonte, tamanho da fonte, cor, alinhamento e espaçamento entre linhas.

P: Que tipo de símbolos substituíveis posso usar?

R: Você pode usar uma variedade de símbolos substituíveis, como:

  • $p: Número da página atual.
  • $P: Número total de páginas.
  • $d: Data atual.
  • $t: Hora atual.
  • Espaços reservados personalizados que você define.

P: Posso incluir outro texto e formatação em torno dos símbolos substituíveis?

R: Sim, você pode incluir outro texto e formatação em torno dos símbolos substituíveis noTextFragment objetos. Isso permite criar cabeçalhos e rodapés mais complexos que incorporam conteúdo dinâmico e estático.

P: Como posso salvar o documento PDF gerado?

R: Para salvar o documento PDF gerado, você pode usar oSave método doDocumentaula. Forneça o caminho e o nome do arquivo de saída desejado como argumento.

P: É necessária uma licença Aspose válida para este tutorial?

R: Sim, uma licença Aspose válida é necessária para executar o código com sucesso neste tutorial. Você pode obter uma licença completa ou uma licença temporária de 30 dias no site Aspose.