Ninguém ainda me entendeu, rsrs… As soluções anteriores são ótimas, porém não são as quais eu procuro. Eu queria algo com o iText e nada de iReport. Eu faço o PDF na mão, daria muito trabalho eu trocar todo programa agora, pois o mesmo está em função do iText. O problema é: Ele gera PDF numa boa se NÃO compilado para .jar e se compilá-lo, ele simplesmente não gera o PDF! Deve ter algum jeito sim de faze-lo gerar PDF quando eu compila-lo.
O que eu faço:
- Abro um JOptionPane e peço que o usuário dê um nome ao PDF.
- Peço que ele digite também o diretório em que será salvo.
- Recolho os dados digitados pelo usuário.
- Gero o PDF.
Sim, já tratei a exceção mas não era isso, o erro continuou. Suspeito de ser alguma coisa a ver com a biblioteca na hora de compilar…
public class GerarPDFComJustaCausa{
// String func, String catg, String causa, String dataAdm, String dataDm,
// double salario
public static void criarPDF(String nomePDF,String diretorio) throws Exception {
Document doc = null;
OutputStream os = null;
try {
// cria o documento tamanho A4, margens de 2,54cm
doc = new Document(PageSize.A4, 72, 72, 72, 72);
// cria a stream de saída
// os = new FileOutputStream(nomePDF+".pdf");
os = new FileOutputStream(diretorio+nomePDF+".pdf");
// associa a stream de saída ao
PdfWriter.getInstance(doc, os);
// abre o documento
doc.open();
// adiciona o texto ao PDF
Font f = new Font(FontFamily.COURIER, 20, Font.BOLD);
Font f2 = new Font(FontFamily.COURIER, 14, Font.BOLD);
// rescisão
Paragraph p = new Paragraph("RESCISÃO DE CONTRATO", f);
p.setAlignment(Element.ALIGN_CENTER);
p.setSpacingAfter(20);
doc.add(p);
} finally {
if (doc != null) {
// fechamento do documento
doc.close();
}
if (os != null) {
// fechamento da stream de saída
os.close();
}
}
}
}