Jump to content

java pdf y jfilechooser


Recommended Posts

hola, les escribo porke necesito urgente la sabiduria de algun master en java XD!

 

pasa lo siguente

 

estoy haciendo una aplicacion en java que convierte los datos ingresados desde una ventana a un documento pdf, la cual debiera guardarse en algun lugar que el usuario desee =)

 

el punto es que eso no pasa y el archivo se guarda en la carpeta raiz del programa, he visto los 2489756298725 tutoriales de jfilochooser existentes en google pero ninguno me ha servido

 

les adjunto el codigo:

 

private void btGeneraActionPerformed(java.awt.event.ActionEvent evt) {

 

 

Document formato= new Document(PageSize.LETTER,50, 50, 50, 72);

 

FileOutputStream ficheropdf = null;

 

try {

 

ficheropdf = new FileOutputStream("informe.pdf");

 

 

} catch (FileNotFoundException ex) {

JOptionPane.showMessageDialog(null," "+ex.getMessage(),"archivo abierto",0);

 

}

try {

PdfWriter.getInstance(formato, ficheropdf).setInitialLeading(20);

 

} catch (DocumentException ex) {

Logger.getLogger(EcoHelp.class.getName()).log(Level.SEVERE, null, ex);

}

 

formato.open();

PdfPTable tabla = new PdfPTable(3);

tabla.addCell("Nombre Mascota: "+txMascota.getText());

tabla.addCell("Especie: "+txEsp.getText());

tabla.addCell("Raza: "+txRaza.getText());

tabla.addCell("Edad: "+txEdad.getText());

if(RbMacho.isSelected())

{

tabla.addCell("Sexo: Macho");

}

else if(RbH.isSelected())

{

tabla.addCell("Sexo: Hembra");

}

tabla.addCell("Medico Solicitante: "+txMedico.getText());

tabla.addCell("Clinica: "+txClinica.getText());

tabla.addCell("Dueño: "+txDueno.getText());

tabla.addCell("Fono: "+txFono.getText());

tabla.addCell("Fecha: "+txFecha.getText());

try {

//Image logo= Image.getInstance("logo.png");

//logo.setAlignment(Chunk.ALIGN_LEFT);

//logo.scaleToFit(100,55);

//formato.add(logo);

Paragraph titulo = new Paragraph("Servicio Ecográfico Móvil",FontFactory.getFont("arial",14,Font.ITALIC,BaseColor.BLACK));

titulo.setAlignment(Chunk.ALIGN_CENTER);

formato.add(titulo);

formato.add(new Paragraph(" "));

formato.add(tabla);

formato.add(new Paragraph(" "));

formato.add(new Paragraph("____________________________________________________________________________"));

formato.add(new Paragraph("Informe:",FontFactory.getFont("arial",12,Font.BOLD,BaseColor.BLACK)));

formato.add(new Paragraph(" "));

formato.add(new Paragraph(jTextArea1.getText()));

formato.add(new Paragraph("____________________________________________________________________________"));

formato.add(new Paragraph("Conclusion:",FontFactory.getFont("arial",12,Font.BOLD,BaseColor.BLACK)));

formato.add(new Paragraph(jTextArea2.getText()));

formato.add(new Paragraph(" "));

Paragraph nota=new Paragraph("----Documento generado por software de manera automática----",FontFactory.getFont("arial",10,Font.NORMAL,BaseColor.GRAY));

nota.setAlignment(Chunk.ALIGN_CENTER);

formato.add(nota);

formato.add(new Paragraph(" "));

Paragraph nombre= new Paragraph(" xxxxxxxxx");

nombre.setAlignment(Chunk.ALIGN_BOTTOM);

Paragraph prof=new Paragraph(" xxxxxxxx");

prof.setAlignment(Chunk.ALIGN_BOTTOM);

Paragraph adic=new Paragraph(" xxxxxx");

adic.setAlignment(Chunk.ALIGN_BOTTOM);

formato.add(nombre);

formato.add(prof);

formato.add(adic);

formato.close();

// hasta aqui todo bien con la creacion del documento!!!

 

JFileChooser guarda=new JFileChooser();

guarda.setFileSelectionMode(JFileChooser.FILES_ONLY);

FileNameExtensionFilter filtro= new FileNameExtensionFilter("archivos pdf","pdf");

guarda.setFileFilter(filtro);

File f= new File("informe.pdf");

guarda.setSelectedFile(File.class.cast(f));

int seleccion = guarda.showSaveDialog(this);

if(seleccion==JFileChooser.APPROVE_OPTION)

{

//se supone que en este punto deberia guardar pero el archivo que sale es de 0kb

FileOutputStream sale= new FileOutputStream(guarda.getSelectedFile());

JOptionPane.showMessageDialog(null,guarda.getSelectedFile().getName()+ " creado exitosamente en: "+guarda.getSelectedFile().getAbsolutePath());

sale.close();

 

}

 

 

 

 

} catch (DocumentException ex) {

JOptionPane.showMessageDialog(null, "error "+ex.getMessage());

}

catch ( Exception e)

{

JOptionPane.showMessageDialog(null,"error "+e.getMessage());

}

 

 

 

}

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...