Adicionar cabeçalhos e rodapés em PDF usando C#

As seções de cabeçalho e rodapé em um documento mostram informações do documento, como título do documento, logotipo, cabeçalho do capítulo, números de página, etc. Podemos adicionar qualquer texto ou imagem nos cabeçalhos/rodapés do documento PDF programaticamente. Neste artigo, aprenderemos como adicionar cabeçalhos e rodapés em documentos PDF usando C#.

Os seguintes tópicos serão abordados neste artigo:

API C# para adicionar cabeçalhos e rodapés em documentos PDF

Para adicionar cabeçalhos e rodapés em arquivos PDF, usaremos Aspose.PDF for .NET API. Ele nos permite gerar, modificar, converter, renderizar, proteger e imprimir documentos suportados sem usar o Adobe Acrobat. Por favor, baixe a DLL da API ou instale-a usando NuGet.

Install-Package Aspose.PDF

Adicionar texto no cabeçalho do PDF usando C

Podemos adicionar texto no cabeçalho de um documento PDF existente seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document com o caminho do arquivo de entrada como argumento. É a classe principal que representa um documento PDF e permite realizar diversas funcionalidades.
  2. Em seguida, crie uma instância da classe TextStamp com um texto para mostrar no cabeçalho do documento.
  3. Em seguida, defina várias propriedades, como TopMargin, HorizontalAlignment e VerticalAlignment como Top, etc.
  4. Opcionalmente, defina ForegroundColor, Font, FontStyle, FontSize, BackgroundColor, RotateAngle e nível de Zoom para o texto.
  5. Depois disso, percorra todas as páginas e adicione o cabeçalho usando o método Page.AddStamp() com o objeto TextStamp.
  6. Finalmente, chame o método Document.Save() com o caminho do arquivo de saída como um argumento para salvar o arquivo de saída.

O exemplo de código a seguir mostra como adicionar texto no cabeçalho de um documento PDF usando C#.

// Este exemplo de código demonstra como adicionar texto no cabeçalho de um documento PDF existente.
// Carregar o documento PDF
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Criar cabeçalho
TextStamp textStamp = new TextStamp("Header Text");

// Definir propriedades do carimbo
textStamp.TopMargin = 10;
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Top;

// Especifique o estilo da fonte
textStamp.TextState.FontStyle = FontStyles.Bold;
textStamp.TextState.ForegroundColor = Color.Red;
textStamp.TextState.FontSize = 14;
textStamp.TextState.BackgroundColor = Color.Pink;
textStamp.TextState.Font = FontRepository.FindFont("Verdana");

// Adicionar cabeçalho em todas as páginas
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(textStamp);
}

// Salve o documento atualizado
pdfDocument.Save(@"C:\Files\output.pdf");
Adicione texto no cabeçalho do PDF usando C#.

Adicione texto no cabeçalho do PDF usando C#.

Podemos adicionar texto no rodapé de documentos PDF programaticamente seguindo as etapas mencionadas anteriormente. No entanto, precisamos definir BottomMargin e VerticalAlignment como Bottom para mostrar o texto no rodapé.

O exemplo de código a seguir mostra como adicionar texto no rodapé de um documento PDF usando C#.

// Este exemplo de código demonstra como adicionar texto no rodapé de um documento PDF existente.
// Carregar o documento PDF
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Criar rodapé
TextStamp textStamp = new TextStamp("Footer Text");

// Definir propriedades do carimbo
textStamp.BottomMargin = 10;
textStamp.HorizontalAlignment = HorizontalAlignment.Center;
textStamp.VerticalAlignment = VerticalAlignment.Bottom;

// Adicionar rodapé em todas as páginas
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(textStamp);
}

// Salve o documento atualizado
pdfDocument.Save(@"C:\Files\output.pdf");
Adicione texto no rodapé do PDF usando C#.

Adicione texto no rodapé do PDF usando C#.

Inserir imagem no cabeçalho do PDF usando C

Também podemos adicionar uma imagem no cabeçalho de um documento PDF existente seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document com o caminho do arquivo de entrada como argumento.
  2. Em seguida, crie uma instância da classe ImageStamp com o caminho do arquivo de imagem como argumento.
  3. Em seguida, defina várias propriedades, como TopMargin, HorizontalAlignment e VerticalAlignment como Top, etc.
  4. Depois disso, percorra todas as páginas e adicione o cabeçalho usando o método Page.AddStamp() com o objeto ImageStamp.
  5. Finalmente, chame o método Document.Save() com o caminho do arquivo de saída como um argumento para salvar o arquivo de saída.

O exemplo de código a seguir mostra como adicionar uma imagem no cabeçalho de um documento PDF usando C#.

// Este exemplo de código demonstra como adicionar uma imagem no cabeçalho de um documento PDF existente.
// Carregar o documento PDF
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Criar cabeçalho
ImageStamp imageStamp = new ImageStamp(@"C:\Files\conholdate-logo.jpg");

// Definir propriedades do carimbo
imageStamp.TopMargin = 10;
imageStamp.HorizontalAlignment = HorizontalAlignment.Center;
imageStamp.VerticalAlignment = VerticalAlignment.Top;

// Adicionar cabeçalho em todas as páginas
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

// Salve o documento atualizado
pdfDocument.Save(@"C:\Files\output.pdf");
Insira a imagem no cabeçalho do PDF usando C#.

Insira a imagem no cabeçalho do PDF usando C#.

Podemos adicionar imagens no rodapé de documentos PDF programaticamente seguindo as etapas mencionadas anteriormente. No entanto, precisamos definir BottomMargin e VerticalAlignment como Bottom para mostrar a imagem no rodapé.

O exemplo de código a seguir mostra como adicionar uma imagem no rodapé de um documento PDF usando C#.

// Este exemplo de código demonstra como adicionar uma imagem no rodapé de um documento PDF existente.
// Carregar o documento PDF
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Criar rodapé
ImageStamp imageStamp = new ImageStamp(@"C:\Files\conholdate-logo.jpg");

// Definir propriedades do carimbo
imageStamp.BottomMargin = 10;
imageStamp.HorizontalAlignment = HorizontalAlignment.Center;
imageStamp.VerticalAlignment = VerticalAlignment.Bottom;

// Adicionar rodapé em todas as páginas
foreach (Page page in pdfDocument.Pages)
{
    page.AddStamp(imageStamp);
}

// Salve o documento atualizado
pdfDocument.Save(@"C:\Files\output.pdf");
Insira a imagem no rodapé do PDF usando C#.

Insira a imagem no rodapé do PDF usando C#.

Adicionar diferentes cabeçalhos e rodapés em diferentes páginas

Podemos adicionar diferentes cabeçalhos/rodapés para diferentes páginas em um único documento PDF seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document com o caminho do arquivo de entrada como argumento.
  2. Em seguida, crie várias instâncias da classe ImageStamp com o caminho do arquivo de imagem e/ou a classe TextStamp com um texto para mostrar.
  3. Em seguida, defina várias propriedades, como TopMargin, HorizontalAlignment e VerticalAlignment como Top para o cabeçalho e BottomMargin e VerticalAlignment como Bottom para o rodapé.
  4. Depois disso, adicione cabeçalho ou rodapé usando o método Page.AddStamp() com o objeto ImageStamp ou TextStamp para uma página.
  5. Finalmente, chame o método Document.Save() com o caminho do arquivo de saída como um argumento para salvar o arquivo de saída.

O exemplo de código a seguir mostra como adicionar vários cabeçalhos e rodapés em um único documento PDF usando C#.

// Este exemplo de código demonstra como adicionar cabeçalhos diferentes para páginas diferentes em um único documento PDF.
// Carregar o documento PDF
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Crie três selos
ImageStamp stamp1 = new ImageStamp(@"C:\Files\PDF\conholdate-logo.jpg");
TextStamp stamp2 = new TextStamp("Header Stamp 2");
TextStamp stamp3 = new TextStamp("Header Stamp 3");

// Definir alinhamento de carimbo para carimbo1
stamp1.VerticalAlignment = VerticalAlignment.Top;
stamp1.HorizontalAlignment = HorizontalAlignment.Center;

// Definir alinhamento de carimbo para carimbo2
stamp2.VerticalAlignment = VerticalAlignment.Top;
// Definir informações de alinhamento horizontal para carimbo como alinhado ao centro
stamp2.HorizontalAlignment = HorizontalAlignment.Center;
// Defina o fator de zoom para o objeto de carimbo
stamp2.Zoom = 10;

// Definir alinhamento de carimbo para carimbo3
stamp3.VerticalAlignment = VerticalAlignment.Top;
// Defina as informações de alinhamento horizontal para o objeto de carimbo como alinhado ao centro
stamp3.HorizontalAlignment = HorizontalAlignment.Center;
// Defina o ângulo de rotação para o objeto de carimbo
stamp3.RotateAngle = 35;


// Adicione o primeiro carimbo na primeira página;
pdfDocument.Pages[1].AddStamp(stamp1);

// Adicionar segundo carimbo na segunda página;
pdfDocument.Pages[2].AddStamp(stamp2);

// Adicione o terceiro carimbo na terceira página.
pdfDocument.Pages[3].AddStamp(stamp3);

// Salve o documento atualizado
pdfDocument.Save(@"C:\Files\output.pdf");

Podemos adicionar números de página na seção de rodapé de documentos PDF seguindo as etapas abaixo:

  1. Primeiramente, carregue um documento PDF usando a classe Document com o caminho do arquivo de entrada como argumento.
  2. Em seguida, faça o seguinte para cada página na coleção Document.Pages.
    • Crie uma instância da classe TextStamp com um texto concatenado com o número da página atual.
    • Em seguida, defina várias propriedades, como BottomMargin, HorizontalAlignment e VerticalAlignment como Bottom, etc.
    • Depois disso, chame o método Page.AddStamp() com o objeto TextStamp para adicionar o número da página no rodapé.
  3. Finalmente, chame o método Document.Save() com o caminho do arquivo de saída como um argumento para salvar o arquivo de saída.

O exemplo de código a seguir mostra como adicionar um número de página para cada página no rodapé de um documento PDF usando C#.

// Este exemplo de código demonstra como adicionar o número da página no rodapé de cada página de um documento PDF. 
// Carregar o documento PDF
Document pdfDocument = new Document(@"C:\Files\sample.pdf");

// Adicionar rodapé em todas as páginas
foreach (Page page in pdfDocument.Pages)
{
    // Criar rodapé
    TextStamp textStamp = new TextStamp("Page " + page.Number + " of " + pdfDocument.Pages.Count + " pages.");
    
    // Definir propriedades do carimbo
    textStamp.BottomMargin = 10;
    textStamp.HorizontalAlignment = HorizontalAlignment.Center;
    textStamp.VerticalAlignment = VerticalAlignment.Bottom;

    // Adicionar carimbo
    page.AddStamp(textStamp);
}

// Salve o documento atualizado
pdfDocument.Save(@"C:\Files\PDF\output.pdf");
Adicione números de página no rodapé.

Adicione números de página no rodapé do PDF usando C#.

Obtenha uma licença de API gratuita

Você pode experimentar a API sem limitações de avaliação solicitando uma licença temporária gratuita.

Conclusão

Neste artigo, aprendemos como adicionar um texto ou uma imagem nos cabeçalhos/rodapés de arquivos PDF existentes usando C#. Também vimos como adicionar diferentes cabeçalhos em diferentes páginas em um documento PDF e como adicionar um número de página no rodapé de um documento. Além disso, você pode aprender mais sobre Aspose.PDF para .NET API usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também