Leu o tutorial que mandei do iText?
Lá está bem explicadinho.
Leu o tutorial que mandei do iText?
Lá está bem explicadinho.
[quote=Lukas0145][code]
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(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);
Paragraph p1 = new Paragraph("Funcionário:"
+ JanelaRescisaoComJustaCausa.func.toUpperCase(), f2);
p1.setAlignment(10);
doc.add(p1);
} finally {
if (doc != null) {
// fechamento do documento
doc.close();
}
if (os != null) {
// fechamento da stream de saída
os.close();
}
}
[/code]
[/quote]
A primeira coisa é que você não tem um catch. Ok, eu vi o throws Exception no método. Porém, você está tratando a captura da exceção?
Resolva isso e depois podemos prosseguir.
Aliás, teste estourando uma exceção de propósito (adicione throw new Exception(“Exceção de teste”); em qualquer parte do teu try e veja se a exceção é disparada).
[quote=drsmachado][quote=Lukas0145][code]
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(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);
Paragraph p1 = new Paragraph("Funcionário:"
+ JanelaRescisaoComJustaCausa.func.toUpperCase(), f2);
p1.setAlignment(10);
doc.add(p1);
} finally {
if (doc != null) {
// fechamento do documento
doc.close();
}
if (os != null) {
// fechamento da stream de saída
os.close();
}
}
[/code]
[/quote]
A primeira coisa é que você não tem um catch. Ok, eu vi o throws Exception no método. Porém, você está tratando a captura da exceção?
Resolva isso e depois podemos prosseguir.
Aliás, teste estourando uma exceção de propósito (adicione throw new Exception(“Exceção de teste”); em qualquer parte do teu try e veja se a exceção é disparada).[/quote]
Obrigado, verei isso logo que chegar em casa!
Facim de resolver isto lucas na hora que você gera o .jar você não tá colocando
a pasta do Jasper junto de seu .jar, exemplo quando você gera o .jar tem que ter a pasta lib junto certo !?
quando você gera o exe tem que ter a pasta lib junto e a pasta jasper, faz assim cria uma pasta chamada Sistema coloca dentro dela o seu .exe, a pasta lib e a pasta que contém arquivos Jasper e roda =)
[quote=magalli]Facim de resolver isto lucas na hora que você gera o .jar você não tá colocando
a pasta do Jasper junto de seu .jar, exemplo quando você gera o .jar tem que ter a pasta lib junto certo !?
quando você gera o exe tem que ter a pasta lib junto e a pasta jasper, faz assim cria uma pasta chamada Sistema coloca dentro dela o seu .exe, a pasta lib e a pasta que contém arquivos Jasper e roda =)[/quote]
Não existe arquivo jasper, afinal, ele está usando apenas iText e não iReport.
E ae lukas0145 seguinte, procure saber mais sobre o ireport isso vai acrescentar muito em seu curriculum, fica mais fácil com banco de dados imagens, criar graficos!
da forma que esta fazendo é muito trabalhoso e a manutenção disso é muito complicado, vamos falar que seja para uma empresa de médio porte, não poderia gerar um relatorio em pdf dessa forma.
Aqui vai o código espero que vc estude mais sobre ireport
Fiz o código em minha máquina e esta funcionando normal, fiz os testes gerou os pdf como vc queria!
Qualquer coisa posta a dúvida ae! abraços
import java.io.FileOutputStream;
import java.io.OutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
public class criaPdf_Unha {
public String endereco1;
public String endereco2;
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(diretorio + nomePDF + ".pdf");
// associa a stream de saída ao
PdfWriter.getInstance((com.lowagie.text.Document) doc, os);
// abre o documento
doc.open();
String funcionario;
funcionario = "Daniel";
// rescisão
Paragraph p = new Paragraph("RESCISÃO DE CONTRATO");
p.setAlignment(Element.ALIGN_CENTER);
p.setSpacingAfter(20);
doc.add(p);
Paragraph p1 = new Paragraph("Funcionário:"
+ funcionario.toUpperCase());
p1.setAlignment(10);
doc.add(p1);
}catch(Exception e){
System.out.println("Erro : "+e.getLocalizedMessage());
}
if (doc != null) {
// fechamento do documento
doc.close();
}
if (os != null) {
// fechamento da stream de saída
os.close();
}
System.out
.println("************************************************************");
System.out
.println("************************************************************");
}
public static void main(String[] args) throws Exception {
System.out
.println("************************************************************");
criaPdf_Unha cp = new criaPdf_Unha();
String diretorio = "c:/dump/";
String arquivo = "teste2";
cp.criarPDF(arquivo, diretorio);
}
}
[quote=snowblacksoul]E ae lukas0145 seguinte, procure saber mais sobre o ireport isso vai acrescentar muito em seu curriculum, fica mais fácil com banco de dados imagens, criar graficos!
da forma que esta fazendo é muito trabalhoso e a manutenção disso é muito complicado, vamos falar que seja para uma empresa de médio porte, não poderia gerar um relatorio em pdf dessa forma.
Aqui vai o código espero que vc estude mais sobre ireport
Fiz o código em minha máquina e esta funcionando normal, fiz os testes gerou os pdf como vc queria!
Qualquer coisa posta a dúvida ae! abraços
[code]
import java.io.FileOutputStream;
import java.io.OutputStream;
import com.lowagie.text.Document;
import com.lowagie.text.Element;
import com.lowagie.text.PageSize;
import com.lowagie.text.Paragraph;
import com.lowagie.text.pdf.PdfWriter;
public class criaPdf_Unha {
public String endereco1;
public String endereco2;
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(diretorio + nomePDF + ".pdf");
// associa a stream de saída ao
PdfWriter.getInstance((com.lowagie.text.Document) doc, os);
// abre o documento
doc.open();
String funcionario;
funcionario = "Daniel";
// rescisão
Paragraph p = new Paragraph("RESCISÃO DE CONTRATO");
p.setAlignment(Element.ALIGN_CENTER);
p.setSpacingAfter(20);
doc.add(p);
Paragraph p1 = new Paragraph("Funcionário:"
+ funcionario.toUpperCase());
p1.setAlignment(10);
doc.add(p1);
}catch(Exception e){
System.out.println("Erro : "+e.getLocalizedMessage());
}
if (doc != null) {
// fechamento do documento
doc.close();
}
if (os != null) {
// fechamento da stream de saída
os.close();
}
System.out
.println("************************************************************");
System.out
.println("************************************************************");
}
public static void main(String[] args) throws Exception {
System.out
.println("************************************************************");
criaPdf_Unha cp = new criaPdf_Unha();
String diretorio = "c:/dump/";
String arquivo = "teste2";
cp.criarPDF(arquivo, diretorio);
}
}
[/code][/quote]
Com iText ele consegue fazer.
Caramba, como esse povo tem visão limitada. Acha que qualquer tecnologia é bala de prata e de uso obrigatório.
Tentar ajudar o cara com o problema dele ninguém tenta, apenas sugere que ele mude para iReport.
Já pensaram se ele não tem esta opção?
Caro drsmachado o que o lukas quer é exatamente o que coloquei!
Ele nao quer usar ireport e muito menos iText
Ele quer fazer na unha, se você rodasse o código veria que nao tem nada demais !
O que falei pra ele é simples, ele pode usar o ireport , pode usar o iText! é só procurar , estudar sobre o assunto!
Pra quando precisar destas tecnologia ele saber se virá!
Eu já dei a solução pra ele e espero que ele consiga fazer o que ele quer!!
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:
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();
}
}
}
}
SOLUÇÃO:
[list]
Botão Direito no src
Export
Runnable JAR file
Extract required libraries into generated JAR
Finish
[/list]
Obs: Obrigado a todos que tentaram me ajudar com dicas e soluções!