Adicione notas de rodapé e notas finais em PDF usando Java.

Uma nota de rodapé é uma nota ou texto dado na parte inferior de uma página específica, enquanto a nota final é uma nota colocada no final de um documento. Geralmente usamos notas de rodapé ou notas finais para referências, explicações ou comentários no documento. Podemos adicionar notas de rodapé/notas finais ao documento PDF programaticamente. Neste artigo, aprenderemos como adicionar notas de rodapé e notas finais em documentos PDF usando Java.

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

API Java para adicionar notas de rodapé e notas finais em PDF

Para adicionar notas de rodapé e notas finais a um documento PDF, usaremos Aspose.PDF for Java API. Ele nos permite gerar, modificar, converter, renderizar, proteger e imprimir documentos suportados sem usar o Adobe Acrobat. Por favor, baixe o JAR da API ou apenas adicione a seguinte configuração pom.xml em um aplicativo Java baseado em Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-pdf</artifactId>
    <version>22.1</version>
</dependency>

Adicionar notas de rodapé a um PDF usando Java

Podemos adicionar notas de rodapé no final da página em um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Document.
  2. Em seguida, adicione uma Page à PagesCollection do documento.
  3. Em seguida, crie um TextFragment.
  4. Em seguida, defina o valor Footnote para o objeto TextFragment.
  5. Em seguida, adicione TextFragment à coleção Paragraphs
  6. Opcionalmente, repita as etapas acima para adicionar mais TextFragments para vários valores de nota de rodapé.
  7. Por fim, salve o arquivo PDF usando o método Document.Save(). Ele usa o caminho do arquivo de saída como um argumento.

O exemplo de código a seguir mostra como adicionar notas de rodapé a um documento PDF usando Java.

// Este exemplo de código demonstra como adicionar notas de rodapé a um documento PDF.
// Criar uma instância de Document
Document document = new Document();

// Adicionar página à coleção de páginas de PDF
Page page = document.getPages().add();

// Criar um fragmento de texto
TextFragment text = new TextFragment("Hello World");

// Definir valor da nota de rodapé para TextFragment
text.setFootNote(new Note("foot note for Hello World!"));

// Adicionar TextFragment à coleção de parágrafos da primeira página do documento
page.getParagraphs().add(text);

// Criar outro TextFragment
text = new TextFragment("Aspose.Pdf for Java");

// Definir nota de rodapé para o segundo TextFragment
text.setFootNote(new Note("foot note for second text fragment!"));

// Adicionar segundo fragmento de texto à coleção de parágrafos do arquivo PDF
page.getParagraphs().add(text);

// Salve o documento
document.save("C:\\Files\\PDF\\sample_footnote.pdf");
Adicione notas de rodapé a um PDF usando Java.

Adicione notas de rodapé a um PDF usando Java.

Adicionar uma imagem à nota de rodapé em PDF

Podemos adicionar uma imagem nas notas de rodapé de um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Document.
  2. Em seguida, adicione uma Page à PagesCollection do documento.
  3. Em seguida, crie um TextFragment.
  4. Em seguida, defina o valor Footnote para o objeto TextFragment.
  5. Em seguida, adicione uma imagem ao objeto TextFragment.
  6. Depois disso, adicione TextFragment à coleção Paragraphs
  7. Por fim, salve o arquivo PDF usando o método Document.Save(). Ele usa o caminho do arquivo de saída como um argumento.

O exemplo de código a seguir mostra como adicionar uma imagem nas notas de rodapé de um documento PDF usando Java.

// Este exemplo de código demonstra como inserir imagem em notas de rodapé.
// Criar uma instância de Document
Document document = new Document();

// Adicionar página à coleção de páginas de PDF
Page page = document.getPages().add();

// Criar um fragmento de texto
TextFragment text = new TextFragment("Hello World");

// Definir valor da nota de rodapé para TextFragment
text.setFootNote(new Note());

// Adicionar imagem
Image image = new Image();
image.setFile("C:\\Files\\PDF\\aspose_logo.jpg");
image.setFixHeight(20);
text.getFootNote().getParagraphs().add(image);

// Criar um fragmento de texto
TextFragment footNote = new TextFragment(" foot note for Hello World!");
footNote.getTextState().setFontSize(20);
footNote.setInLineParagraph(true);
text.getFootNote().getParagraphs().add(footNote);

// Adicionar TextFragment à coleção de parágrafos da primeira página do documento
page.getParagraphs().add(text);

// Salve o documento
document.save("C:\\Files\\PDF\\image_footnote.pdf");
Add an Image to Footnote in PDF.

Inserir uma tabela na nota de rodapé em PDF

Também podemos adicionar uma tabela nas notas de rodapé de um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Document.
  2. Em seguida, adicione uma Page à PagesCollection do documento.
  3. Em seguida, crie um TextFragment.
  4. Em seguida, defina o valor Footnote para o objeto TextFragment.
  5. Em seguida, adicione uma tabela ao objeto TextFragment.
  6. Depois disso, adicione TextFragment à coleção Paragraphs
  7. Por fim, salve o arquivo PDF usando o método Document.Save(). Ele usa o caminho do arquivo de saída como um argumento.

O exemplo de código a seguir mostra como adicionar uma tabela nas notas de rodapé de um documento PDF usando Java.

// Este exemplo de código demonstra como adicionar tabela a notas de rodapé.
// Criar instância de documento
Document document = new Document();

// Adicionar página à coleção de páginas de PDF
Page page = document.getPages().add();

// Criar instância TextFragment
TextFragment text = new TextFragment("Hello World");

// Definir valor da nota de rodapé para TextFragment
text.setFootNote(new Note());

// Insira a tabela
Table table = new Table();
table.getRows().add().getCells().add().getParagraphs().add(new TextFragment("Row 1 Cell 1"));
table.getRows().get_Item(0).getCells().add().getParagraphs().add(new TextFragment("Row 1 Cell 2"));
table.getRows().add().getCells().add().getParagraphs().add(new TextFragment("Row 2 Cell 1"));
table.getRows().get_Item(1).getCells().add().getParagraphs().add(new TextFragment("Row 2 Cell 2"));
text.getFootNote().getParagraphs().add(table);

// Adicionar TextFragment à coleção de parágrafos da primeira página do documento
page.getParagraphs().add(text);

// Salve o documento
document.save("C:\\Files\\PDF\\Table_footnote.pdf");
Inserir uma tabela na nota de rodapé em PDF.

Inserir uma tabela na nota de rodapé em PDF.

Personalizar rótulo de nota de rodapé e estilo de linha usando Java

Podemos personalizar o rótulo das notas de rodapé e o estilo de linha da nota de rodapé em um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Document.
  2. Em seguida, adicione uma Page à PagesCollection do documento.
  3. Em seguida, inicialize um objeto GraphInfo para personalizar o estilo de linha.
  4. Defina as propriedades do objeto GraphInfo, como LineWidth, Color, DashArray, etc.
  5. Em seguida, crie um TextFragment.
  6. Em seguida, defina o valor Footnote para o objeto TextFragment.
  7. Em seguida, inicialize o objeto TextState e defina várias propriedades, por exemplo, ForegroundColor, FontStyle, etc.
  8. Depois disso, adicione TextFragment à coleção Paragraphs
  9. Opcionalmente, repita as etapas acima para adicionar mais TextFragments para vários valores de nota de rodapé.
  10. Finalmente, salve o arquivo PDF usando o método Document.Save(). Ele usa o caminho do arquivo de saída como um argumento.

O exemplo de código a seguir mostra como adicionar personalizar o rótulo das notas de rodapé e o estilo de linha usando Java.

// Este exemplo de código demonstra como personalizar o rótulo das notas de rodapé e o estilo de linha.
// Criar instância de documento
Document document = new Document();

// Adicionar página à coleção de páginas de PDF
Page page = document.getPages().add();

// Personalizar estilo de linha
// criar objeto GraphInfo
GraphInfo graph = new GraphInfo();

// definir a largura da linha como 2
graph.setLineWidth(2);

// definir a cor para o objeto gráfico
graph.setColor(Color.getRed());

// defina o valor da matriz de traço como 3
graph.setDashArray(new int[] { 3 });

// defina o valor da fase do traço como 1
graph.setDashPhase(1);

// definir estilo de linha de nota de rodapé para página como gráfico
page.setNoteLineStyle(graph);

// Criar instância TextFragment
TextFragment text = new TextFragment("Hello World");

// Definir valor da nota de rodapé para TextFragment
text.setFootNote(new Note("foot note for Hello World!"));

// Personalizar rótulo
text.getFootNote().setText("FOOTNOTE-1");
TextState ts = new TextState();
ts.setForegroundColor(Color.getBlue());
ts.setFontStyle(FontStyles.Italic);
text.getFootNote().setTextState(ts);

// Adicionar TextFragment à coleção de parágrafos da primeira página do documento
page.getParagraphs().add(text);

// Criar outro TextFragment
text = new TextFragment("Aspose.Pdf for Java");

// Definir nota de rodapé para o segundo fragmento de texto
text.setFootNote(new Note("foot note for second text fragment!"));

// Adicionar segundo fragmento de texto à coleção de parágrafos do arquivo PDF
page.getParagraphs().add(text);

// Salve o documento
document.save("C:\\Files\\PDF\\customize_footnote.pdf");
Personalize o rótulo da nota de rodapé e o estilo de linha usando Java.

Personalize o rótulo da nota de rodapé e o estilo de linha usando Java.

Adicionar notas de rodapé a um PDF existente usando Java

Podemos adicionar notas de rodapé a um documento PDF existente seguindo as etapas abaixo:

  1. Primeiramente, carregue um arquivo PDF usando a classe Document.
  2. Em seguida, obtenha uma página específica por seu índice.
  3. Em seguida, crie um objeto TextFragmentAbsorber com a frase de pesquisa como entrada.
  4. Depois disso, chame o método accept() para pesquisar a frase de entrada na página.
  5. Em seguida, obtenha a primeira ocorrência da frase de pesquisa de TextFragmentCollection.
  6. Em seguida, crie um TextFragment vazio e defina sua posição na página.
  7. Além disso, defina o valor Footnote para o objeto TextFragment.
  8. Depois disso, adicione TextFragment à coleção Paragraphs
  9. Por fim, salve o arquivo PDF usando o método Document.Save(). Ele usa o caminho do arquivo de saída como um argumento.

O exemplo de código a seguir mostra como adicionar notas de rodapé a um documento PDF existente usando Java.

// Este exemplo de código demonstra como adicionar notas de rodapé a um documento PDF existente.
// Carregar um documento PDF existente
Document document = new Document("C:\\Files\\PDF\\sample.pdf");

// Crie o objeto TextAbsorber para encontrar todas as instâncias da frase de texto
TextFragmentAbsorber textFragmentAbsorber = new TextFragmentAbsorber("Class");

// Obter página específica
Page page = document.getPages().get_Item(2);

// Aceite o absorvedor para a segunda página do documento
page.accept(textFragmentAbsorber);

// Coloque os fragmentos de texto extraídos na coleção
TextFragmentCollection textFragmentCollection = textFragmentAbsorber.getTextFragments();

// Obter a primeira ocorrência do texto
TextFragment textFragment = textFragmentCollection.get_Item(1);

// Criar um TextFragment vazio
TextFragment text = new TextFragment("");

// Definir posição
Position position = textFragment.getPosition();
position = new Position(position.getXIndent() + 26, position.getYIndent());
text.setPosition(position);

// Definir valor da nota de rodapé para TextFragment
text.setFootNote(new Note("This is example footnote added in an existing PDF!"));

// Adicionar segundo fragmento de texto à coleção de parágrafos do arquivo PDF
page.getParagraphs().add(text);

// Salve o documento
document.save("C:\\Files\\PDF\\Text_Added.pdf");
Adicionar notas de rodapé ao PDF existente usando Java

Adicionar notas de rodapé ao PDF existente usando Java.

Adicionar notas de fim a PDF usando Java

Também podemos adicionar notas finais no final de um documento PDF seguindo as etapas abaixo:

  1. Primeiramente, crie uma instância da classe Document.
  2. Em seguida, adicione uma Page à PagesCollection do documento.
  3. Em seguida, crie um TextFragment.
  4. Em seguida, defina o valor Endnote para o objeto TextFragment.
  5. Opcionalmente, defina um rótulo personalizado para a nota de fim.
  6. Depois disso, adicione TextFragment à coleção Paragraphs.
  7. Por fim, salve o arquivo PDF usando o método Document.Save(). Ele usa o caminho do arquivo de saída como um argumento.

O exemplo de código a seguir mostra como adicionar notas finais a um documento PDF usando Java.

// Este exemplo de código demonstra como adicionar notas de fim a um documento PDF.
// Criar uma instância de documento
Document doc = new Document();

// Adicionar página à coleção de páginas de PDF
Page page = doc.getPages().add();

// Criar instância TextFragment
TextFragment text = new TextFragment("Hello World");

// Definir valor de FootNote para TextFragment
text.setEndNote(new Note("sample End note"));

// Especificar rótulo personalizado para FootNote
text.getEndNote().setText(" Aspose(2015)");

// Adicionar TextFragment à coleção de parágrafos da primeira página do documento
page.getParagraphs().add(text);

// Salve o arquivo PDF
doc.save("C:\\Files\\PDF\\EndNote.pdf");

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 notas de rodapé e notas finais a um documento PDF usando Java;
  • adicionar uma imagem ou uma tabela às notas de rodapé em PDF;
  • personalizar o rótulo da nota de rodapé e estilo de linha usando Java;
  • adicionar notas de rodapé a um documento PDF existente usando Java.

Além disso, você pode aprender mais sobre Aspose.PDF para API Java usando a documentação. Em caso de qualquer ambiguidade, não hesite em contactar-nos no fórum.

Veja também