Data no Itext

Alguém poderia me ajudar ou me informar como colocar data(Atual) no PDF?
Obs: Estou usando a biblioteca Itext.

Já pesquisei mas não achei nada que me atendesse.

Obrigado pela atenção.

São duas coisas independentes.

Pegar data em Java:

Escrever qualquer texto no PDF:

https://developers.itextpdf.com/examples/itext-action-second-edition/chapter-1#73-helloworld.java

Sim, eu fiz de acordo com as instruções passadas mas mesmo assim não funcionou.

Segue o código:

package gerarpdf;
import com.itextpdf.text.BaseColor;
import java.io.FileOutputStream;
import java.io.IOException;
//import api IText
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Font;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfPCell;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.io.File;
import java.text.SimpleDateFormat;
import java.util.Date;
import javafx.scene.layout.Border;
import javax.swing.JFileChooser;

/**
 *
 * @author ferna
 */
public class GerarPDF {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
       
        JFileChooser jFileChooser = new JFileChooser();

        //seta para selecionar apenas arquivos
        jFileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);

        //desabilita todos os tipos de arquivos
        jFileChooser.setAcceptAllFileFilterUsed(true);

        //mostra janela para salvar
        int acao = jFileChooser.showSaveDialog(null);
        
        //executa acao conforme opcao selecionada
        if (acao == JFileChooser.APPROVE_OPTION) {
            //escolheu arquivo
            Document document = new Document();
        try{
            
            //pega a data do JFileChooser e seta aqui para salvar
        PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream(jFileChooser.getSelectedFile().getAbsolutePath()+".pdf"));
        
        document.open();
    
        
       //Muda a cor da fonte
       Font font20Preto = new Font(Font.FontFamily.UNDEFINED, 20, Font.NORMAL, BaseColor.BLACK);
       
       
       
        Image  figura = Image.getInstance("C:\\Users\\ferna\\Documents\\NetBeansProjects\\GerarPDF\\Imagem1.png");
         PdfPTable tabela = new PdfPTable(4); //cria uma tabela com 4 colunas
         //tabela.setHorizontalAlignment(Element.ALIGN_CENTER); 
         document.add(figura);
         
        Date dataHoraAtual = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
        String Data = sdf.format(dataHoraAtual);
        document.add(Data);
         
         Paragraph titulo = new Paragraph("Relatótio de Clientes", font20Preto);
       titulo.setAlignment(Element.ALIGN_CENTER);
       document.add(titulo);
       Paragraph espaço = new Paragraph("\n");
       document.add(espaço);
   PdfPCell contador = new PdfPCell(new Paragraph("Quantidades de pessoas:"));
   contador.setColspan(4);
   contador.setHorizontalAlignment(Element.ALIGN_RIGHT);
   contador.setBorder(PdfPCell.NO_BORDER);
   tabela.addCell(contador);     
   PdfPCell celulaNome = new PdfPCell(new Paragraph("Nome")); //adiciona o paragrafo com o titulo na segunda celula.
   celulaNome.setHorizontalAlignment(Element.ALIGN_CENTER); //Alinha no centro
   celulaNome.setBackgroundColor(BaseColor.GRAY);
   PdfPCell celulaCPF = new PdfPCell(new Paragraph("CPF"));
   celulaCPF.setHorizontalAlignment(Element.ALIGN_CENTER); //Alinha no centro
   celulaCPF.setBackgroundColor(BaseColor.GRAY);
   PdfPCell celulaEmail = new PdfPCell(new Paragraph("Email"));
   celulaEmail.setHorizontalAlignment(Element.ALIGN_CENTER); //Alinha no centro
   celulaEmail.setBackgroundColor(BaseColor.GRAY);
   PdfPCell celulaTelefone = new PdfPCell(new Paragraph("Telefone"));
   celulaTelefone.setHorizontalAlignment(Element.ALIGN_CENTER); //Alinha no centro
   celulaTelefone.setBackgroundColor(BaseColor.GRAY);
   //celula1.setBorder(2); // aqui vc tira as bordas da celula 
   //celula2.setBorder(2);
   tabela.addCell(celulaNome); //aqui adiciona as celulas na tabela.
   tabela.addCell(celulaCPF);
   tabela.addCell(celulaEmail);
   tabela.addCell(celulaTelefone);
   String teste [][] = new String[][]{
       {"Fernando Mordini","486.978.418-10","fernandomordini20155@gmail.com","(11)9 7746-3287"},
       {"Ana Cardoso","111.222.333-44","anacardoso2018@gmail.com.br","(51)9 1111-2222"},
       {"Marcelo Augusto","999.999.999-00","marceloaugusto18@hotmail.com.br","(12)9 5555-5555"},
   };
   
   for(int i=0;i<teste.length;i++){
   tabela.addCell(teste[i][0]);
   tabela.addCell(teste[i][1]);
   tabela.addCell(teste[i][2]);
   tabela.addCell(teste[i][3]);
   }
   
   document.add(tabela); // coloca a tabela na pagina do PDF.
   
	
	document.getPageNumber();
   
   
        }
        catch(DocumentException de){
            System.err.println(de.getMessage());
        }
        catch(IOException ioe){
            System.err.println(ioe.getMessage());
        }
        finally{
        document.close();
        }
    
    
    try{
        //chama o documento ja criado
            Desktop.getDesktop().open(new File(jFileChooser.getSelectedFile().getAbsolutePath()+".pdf"));
        }
  
        catch(IOException ioe){
            System.err.println(ioe.getMessage());
        }
            //System.out.println(jFileChooser.getSelectedFile().getAbsolutePath());
        } else if (acao == JFileChooser.CANCEL_OPTION) {
            //apertou botao cancelar
        } else if (acao == JFileChooser.ERROR_OPTION) {
            //outra opcao
        }
        
        
    }
}

Queria que mostrasse a data no canto superior direito da página mas quando tento inserir a variável data esta dando erro. Se puder me ajudar agradeço. :slightly_smiling_face: