Adicionar Cabeçalho e Rodapé em PDF
Carimbos em PDF são frequentemente usados em contratos, relatórios e materiais restritos, para provar que os documentos foram revisados e marcados como “lido”, “qualificado” ou “confidencial”, etc. Este artigo mostrará como podemos adicionar carimbos de imagem e carimbos de texto a documentos PDF usando Aspose.PDF para Java.
Se você ler os trechos de código acima linha por linha, deve achar que a sintaxe e a lógica do código são bastante fáceis de entender.
Adicionando Texto no Cabeçalho do Arquivo PDF
Você pode usar a classe TextStamp para adicionar texto no cabeçalho de um arquivo PDF. TextStamp class fornece as propriedades necessárias para criar um carimbo baseado em texto, como tamanho da fonte, estilo da fonte e cor da fonte, etc. Para adicionar texto no cabeçalho, você precisa criar um objeto Document e um objeto TextStamp usando as propriedades necessárias. Depois disso, você pode chamar o método AddStamp da Page para adicionar o texto no cabeçalho do PDF.
Você precisa definir a propriedade TopMargin de forma que ajuste o texto na área do cabeçalho do seu PDF. Você também precisa definir HorizontalAlignment para Center e VerticalAlignment para Top.
O seguinte trecho de código mostra como adicionar texto no cabeçalho de um arquivo PDF com Java.
package com.aspose.pdf.examples;
import com.aspose.pdf.*;
public class ExampleAddPDFHeaderandFooter {
// O caminho para o diretório de documentos.
private static String _dataDir = "/home/admin1/pdf-examples/Samples/";
public static void AddingTextInHeaderOfPDFFile() {
// Abrir documento
Document pdfDocument = new Document(_dataDir + "TextinHeader.pdf");
// Criar cabeçalho
TextStamp textStamp = new TextStamp("Header Text");
// Definir propriedades do carimbo
textStamp.setTopMargin(10);
textStamp.setHorizontalAlignment(HorizontalAlignment.Center);
textStamp.setVerticalAlignment(VerticalAlignment.Top);
// Adicionar cabeçalho em todas as páginas
for (Page page : pdfDocument.getPages()) {
page.addStamp(textStamp);
}
// Salvar documento atualizado
pdfDocument.save(_dataDir + "TextinHeader_out.pdf");
}
Adicionando Texto no Rodapé do Arquivo PDF
Você pode usar a classe TextStamp para adicionar texto no rodapé de um arquivo PDF. A classe TextStamp fornece propriedades necessárias para criar um carimbo baseado em texto, como tamanho da fonte, estilo da fonte e cor da fonte, etc. Para adicionar texto no rodapé, você precisa criar um objeto Document e um objeto TextStamp usando as propriedades requeridas. Depois disso, você pode chamar o método AddStamp da Página para adicionar o texto no rodapé do PDF.
O trecho de código a seguir mostra como adicionar texto no rodapé de um arquivo PDF com Java.
public static void AddingTextInFooterOfPDFFile() {
// Abrir documento
Document pdfDocument = new Document(_dataDir + "TextinFooter.pdf");
// Criar rodapé
TextStamp textStamp = new TextStamp("Texto do Rodapé");
// Definir propriedades do carimbo
textStamp.setBottomMargin(10);
textStamp.setHorizontalAlignment(HorizontalAlignment.Center);
textStamp.setVerticalAlignment(VerticalAlignment.Bottom);
// Adicionar rodapé em todas as páginas
for (Page page : pdfDocument.getPages()) {
page.addStamp(textStamp);
}
_dataDir = _dataDir + "TextinFooter_out.pdf";
// Salvar arquivo PDF atualizado
pdfDocument.save(_dataDir);
}
Adicionando Imagem no Cabeçalho do Arquivo PDF
Você pode usar a classe ImageStamp para adicionar uma imagem no cabeçalho de um arquivo PDF. A classe Image Stamp fornece propriedades necessárias para criar um carimbo baseado em imagem, como tamanho da fonte, estilo da fonte e cor da fonte, etc. Para adicionar uma imagem no cabeçalho, você precisa criar um objeto Document e um objeto Image Stamp usando as propriedades necessárias. Depois disso, você pode chamar o método AddStamp da Página para adicionar a imagem no cabeçalho do PDF.
public static void AddingImageInHeaderOfPDFFile() {
// Abrir documento
Document pdfDocument = new Document(_dataDir + "ImageInHeader.pdf");
// Criar cabeçalho
ImageStamp imageStamp = new ImageStamp(_dataDir + "aspose-logo.jpg");
// Definir propriedades do carimbo
imageStamp.setTopMargin(10);
imageStamp.setHorizontalAlignment(HorizontalAlignment.Center);
imageStamp.setVerticalAlignment(VerticalAlignment.Top);
// Adicionar cabeçalho em todas as páginas
for (Page page : pdfDocument.getPages()) {
page.addStamp(imageStamp);
}
_dataDir = _dataDir + "ImageInHeader_out.pdf";
// Salvar arquivo PDF atualizado
pdfDocument.save(_dataDir);
}
O seguinte trecho de código mostra como adicionar uma imagem no cabeçalho de um arquivo PDF com Java.
Adicionando Imagem no Rodapé de um Arquivo PDF
Você pode usar a classe Image Stamp para adicionar imagem no rodapé de um arquivo PDF. A classe Image Stamp fornece as propriedades necessárias para criar um carimbo baseado em imagem, como tamanho da fonte, estilo da fonte e cor da fonte, etc. Para adicionar uma imagem no rodapé, você precisa criar um objeto Document e um objeto Image Stamp usando as propriedades necessárias. Depois disso, você pode chamar o método AddStamp da Page para adicionar a imagem no rodapé do PDF.
Center
e VerticalAlignment para Bottom
.
O seguinte trecho de código mostra como adicionar uma imagem no rodapé de um arquivo PDF com Java.
public static void AddingImageInFooterOfPDFFile() {
// Abrir documento
Document pdfDocument = new Document(_dataDir + "ImageInFooter.pdf");
// Criar rodapé
ImageStamp imageStamp = new ImageStamp(_dataDir + "aspose-logo.jpg");
// Definir propriedades do carimbo
imageStamp.setBottomMargin(10);
imageStamp.setHorizontalAlignment(HorizontalAlignment.Center);
imageStamp.setVerticalAlignment(VerticalAlignment.Bottom);
// Adicionar rodapé em todas as páginas
for (Page page : pdfDocument.getPages()) {
page.addStamp(imageStamp);
}
_dataDir = _dataDir + "ImageInFooter_out.pdf";
// Salvar arquivo PDF atualizado
pdfDocument.save(_dataDir);
}
Adicionando diferentes Cabeçalhos em um Arquivo PDF
Sabemos que podemos adicionar TextStamp na seção de Cabeçalho/Rodapé do documento usando as propriedades TopMargin ou Bottom Margin, mas às vezes podemos ter a necessidade de adicionar múltiplos cabeçalhos/rodapés em um único documento PDF. Aspose.PDF for Java explica como fazer isso.
Para cumprir este requisito, criaremos objetos individuais TextStamp (o número de objetos depende do número de cabeçalhos/rodapés necessários) e os adicionaremos ao documento PDF. Também podemos especificar diferentes informações de formatação para cada objeto de carimbo individual. No exemplo a seguir, criamos um objeto Document e três objetos TextStamp e, em seguida, usamos o método AddStamp da página para adicionar o texto na seção do cabeçalho do PDF. O snippet de código a seguir mostra como adicionar uma imagem no rodapé de um arquivo PDF com Aspose.PDF para Java.
public static void AddingDifferentHeadersInOnePDFFile() {
// Abrir documento de origem
Document pdfDocument = new Document(_dataDir + "AddingDifferentHeaders.pdf");
// Criar três carimbos
TextStamp stamp1 = new TextStamp("Cabeçalho 1");
TextStamp stamp2 = new TextStamp("Cabeçalho 2");
TextStamp stamp3 = new TextStamp("Cabeçalho 3");
// Definir alinhamento do carimbo (colocar carimbo no topo da página, centralizado horizontalmente)
stamp1.setVerticalAlignment (VerticalAlignment.Top);
stamp1.setHorizontalAlignment(HorizontalAlignment.Center);
// Especificar o estilo da fonte como Negrito
stamp1.getTextState().setFontStyle(FontStyles.Bold);
// Definir a cor do primeiro plano do texto como vermelho
stamp1.getTextState().setForegroundColor(Color.getRed());
// Especificar o tamanho da fonte como 14
stamp1.getTextState().setFontSize(14);
// Agora precisamos definir o alinhamento vertical do segundo objeto de carimbo como Top
stamp2.setVerticalAlignment(VerticalAlignment.Top);
// Definir informações de alinhamento horizontal para o carimbo como centralizado
stamp2.setHorizontalAlignment(HorizontalAlignment.Center);
// Definir o fator de zoom para o objeto de carimbo
stamp2.setZoom (10);
// Definir a formatação do terceiro objeto de carimbo
// Especificar informações de alinhamento vertical para o objeto de carimbo como TOP
stamp3.setVerticalAlignment(VerticalAlignment.Top);
// Definir informações de alinhamento horizontal para o objeto de carimbo como centralizado
stamp3.setHorizontalAlignment (HorizontalAlignment.Center);
// Definir o ângulo de rotação para o objeto de carimbo
stamp3.setRotateAngle(35);
// Definir rosa como cor de fundo para o carimbo
stamp3.getTextState().setBackgroundColor (Color.getPink());
// Alterar informações da fonte do carimbo para Verdana
stamp3.getTextState().setFont (FontRepository.findFont("Verdana"));
// Primeiro carimbo é adicionado na primeira página;
pdfDocument.getPages().get_Item(1).addStamp(stamp1);
// Segundo carimbo é adicionado na segunda página;
pdfDocument.getPages().get_Item(2).addStamp(stamp2);
// Terceiro carimbo é adicionado na terceira página.
pdfDocument.getPages().get_Item(3).addStamp(stamp3);
_dataDir = _dataDir + "multiheader_out.pdf";
// Salvar arquivo PDF atualizado
pdfDocument.save(_dataDir);
}
}