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
- Adicionar notas de rodapé a um PDF usando Java
- Adicionar uma imagem à 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
- Adicionar notas de rodapé a um PDF existente usando Java
- Adicionar notas de fim a PDF usando Java
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:
- Primeiramente, crie uma instância da classe Document.
- Em seguida, adicione uma Page à PagesCollection do documento.
- Em seguida, crie um TextFragment.
- Em seguida, defina o valor Footnote para o objeto TextFragment.
- Em seguida, adicione TextFragment à coleção Paragraphs
- Opcionalmente, repita as etapas acima para adicionar mais TextFragments para vários valores de nota de rodapé.
- 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");
Adicionar uma imagem à nota de rodapé em PDF
Podemos adicionar uma imagem nas notas de rodapé de um documento PDF seguindo as etapas abaixo:
- Primeiramente, crie uma instância da classe Document.
- Em seguida, adicione uma Page à PagesCollection do documento.
- Em seguida, crie um TextFragment.
- Em seguida, defina o valor Footnote para o objeto TextFragment.
- Em seguida, adicione uma imagem ao objeto TextFragment.
- Depois disso, adicione TextFragment à coleção Paragraphs
- 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");
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:
- Primeiramente, crie uma instância da classe Document.
- Em seguida, adicione uma Page à PagesCollection do documento.
- Em seguida, crie um TextFragment.
- Em seguida, defina o valor Footnote para o objeto TextFragment.
- Em seguida, adicione uma tabela ao objeto TextFragment.
- Depois disso, adicione TextFragment à coleção Paragraphs
- 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");
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:
- Primeiramente, crie uma instância da classe Document.
- Em seguida, adicione uma Page à PagesCollection do documento.
- Em seguida, inicialize um objeto GraphInfo para personalizar o estilo de linha.
- Defina as propriedades do objeto GraphInfo, como LineWidth, Color, DashArray, etc.
- Em seguida, crie um TextFragment.
- Em seguida, defina o valor Footnote para o objeto TextFragment.
- Em seguida, inicialize o objeto TextState e defina várias propriedades, por exemplo, ForegroundColor, FontStyle, etc.
- Depois disso, adicione TextFragment à coleção Paragraphs
- Opcionalmente, repita as etapas acima para adicionar mais TextFragments para vários valores de nota de rodapé.
- 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");
Adicionar notas de rodapé a um PDF existente usando Java
Podemos adicionar notas de rodapé a um documento PDF existente seguindo as etapas abaixo:
- Primeiramente, carregue um arquivo PDF usando a classe Document.
- Em seguida, obtenha uma página específica por seu índice.
- Em seguida, crie um objeto TextFragmentAbsorber com a frase de pesquisa como entrada.
- Depois disso, chame o método accept() para pesquisar a frase de entrada na página.
- Em seguida, obtenha a primeira ocorrência da frase de pesquisa de TextFragmentCollection.
- Em seguida, crie um TextFragment vazio e defina sua posição na página.
- Além disso, defina o valor Footnote para o objeto TextFragment.
- Depois disso, adicione TextFragment à coleção Paragraphs
- 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 fim a PDF usando Java
Também podemos adicionar notas finais no final de um documento PDF seguindo as etapas abaixo:
- Primeiramente, crie uma instância da classe Document.
- Em seguida, adicione uma Page à PagesCollection do documento.
- Em seguida, crie um TextFragment.
- Em seguida, defina o valor Endnote para o objeto TextFragment.
- Opcionalmente, defina um rótulo personalizado para a nota de fim.
- Depois disso, adicione TextFragment à coleção Paragraphs.
- 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.