import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.Rectangle;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class GeneraPDF {
public void createPDFTable(PdfPTable tabla2, File Destino, Rectangle TamanioPagina) {
/*Declaramos documento como un objeto Document
Asignamos el tamaño de hoja y los margenes */
Document documento = new Document(TamanioPagina, 80, 80, 75, 75);
//writer es declarado como el método utilizado para escribir en el archivo
PdfWriter writer = null;
try {
//Obtenemos la instancia del archivo a utilizar
writer = PdfWriter.getInstance(documento, new FileOutputStream(Destino + ".pdf"));
} catch (FileNotFoundException | DocumentException ex) {
ex.getMessage();
}
//Agregamos un titulo al archivo
documento.addTitle("Archivo pdf generado desde Java");
//Agregamos el autor del archivo
documento.addAuthor("Robert");
//Abrimos el documento para edición
documento.open();
try {
documento.add(new Paragraph(" "));
documento.add(tabla2);
} catch (DocumentException ex) {
ex.getMessage();
}
documento.close(); //Cerramos el documento
writer.close(); //Cerramos writer
try {
File path = new File(Destino + ".pdf");
Desktop.getDesktop().open(path);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void createPDFText(String jText, File Destino, Rectangle TamanioPagina) {
/*Declaramos documento como un objeto Document
Asignamos el tamaño de hoja y los margenes */
Document documento = new Document(TamanioPagina, 80, 80, 75, 75);
//writer es declarado como el método utilizado para escribir en el archivo
PdfWriter writer = null;
try {
//Obtenemos la instancia del archivo a utilizar
writer = PdfWriter.getInstance(documento, new FileOutputStream(Destino + ".pdf"));
} catch (FileNotFoundException | DocumentException ex) {
ex.getMessage();
}
//Agregamos un titulo al archivo
documento.addTitle("Archivo pdf generado desde Java");
//Agregamos el autor del archivo
documento.addAuthor("Robert");
//Abrimos el documento para edición
documento.open();
//Declaramos un texto como Paragraph
//Le podemos dar formado como alineación, tamaño y color a la fuente.
Paragraph parrafo = new Paragraph();
parrafo.setAlignment(Paragraph.ALIGN_JUSTIFIED);
//parrafo.setFont(FontFactory.getFont("Sans", 20, Font.BOLD, BaseColor.BLUE));
parrafo.add(jText);
try {
//Agregamos el texto al documento
documento.add(parrafo);
//Agregamos un salto de linea
documento.add(new Paragraph(" "));
} catch (DocumentException ex) {
ex.getMessage();
}
documento.close(); //Cerramos el documento
writer.close(); //Cerramos writer
try {
File path = new File(Destino + ".pdf");
Desktop.getDesktop().open(path);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void createPdfTextTable(PdfPTable tabla2, String jText, File Destino, Rectangle TamanioPagina) {
/*Declaramos documento como un objeto Document
Asignamos el tamaño de hoja y los margenes */
Document documento = new Document(TamanioPagina, 80, 80, 75, 75);
//writer es declarado como el método utilizado para escribir en el archivo
PdfWriter writer = null;
try {
//Obtenemos la instancia del archivo a utilizar
writer = PdfWriter.getInstance(documento, new FileOutputStream(Destino + ".pdf"));
} catch (FileNotFoundException | DocumentException ex) {
ex.getMessage();
}
//Agregamos un titulo al archivo
documento.addTitle("Archivo pdf generado desde Java");
//Agregamos el autor del archivo
documento.addAuthor("Robert");
//Abrimos el documento para edición
documento.open();
//Declaramos un texto como Paragraph
//Le podemos dar formado como alineación, tamaño y color a la fuente.
Paragraph parrafo = new Paragraph();
parrafo.setAlignment(Paragraph.ALIGN_JUSTIFIED);
parrafo.add(jText);
try {
//Agregamos el texto al documento
documento.add(parrafo);
//Agregamos un salto de linea
documento.add(new Paragraph(" "));
//Agregamos la tabla al documento haciendo
//la llamada al método tabla()
documento.add(tabla2);
} catch (DocumentException ex) {
ex.getMessage();
}
documento.close(); //Cerramos el documento
writer.close(); //Cerramos writer
try {
File path = new File(Destino + ".pdf");
Desktop.getDesktop().open(path);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public File Colocar_Destino(File ruta_destino) {
FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivo PDF", "pdf", "PDF");
JFileChooser fileChooser = new JFileChooser();
fileChooser.setFileFilter(filter);
int result = fileChooser.showSaveDialog(null);
if (result == JFileChooser.APPROVE_OPTION) {
ruta_destino = fileChooser.getSelectedFile().getAbsoluteFile();
}
return ruta_destino;
}
}