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.
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. 