control.AdminPDF.java Source code

Java tutorial

Introduction

Here is the source code for control.AdminPDF.java

Source

package control;

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

import java.io.*;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.Element;
import com.itextpdf.text.Image;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.PdfPTable;
import com.itextpdf.text.pdf.PdfWriter;
import java.awt.Desktop;
import java.util.ArrayList;
import java.util.logging.Level;
import java.util.logging.Logger;
import modelo.Tarea;

/**
 *
 * @author 11C
 */
public class AdminPDF extends javax.swing.JFrame {

    private static int consecutivo;

    /**
     * Creates new form factura
     */
    public AdminPDF() {

        consecutivo = 0;
    }

    public static void generarInforme(ArrayList<Tarea> tareas, String usuario) {

        try {
            //Creamos la carpeta donde se almacenaran las facturas
            // Si quieres que las facturas se guarden en una carpeta del computador, 
            // aca colocas la ruta donde quieres que se guarden en lugar de src/facturas, 
            // tanto al crear carpeta y laFactura (de tipo File) y al crear archivo (de tipo FileOutputStream)
            //Ejemplo:  File carpeta = new File("D:\\facturas"); 
            //          FileOutputStream archivo = new FileOutputStream("D:\\facturas" + consecutivo + ".pdf");
            //          File laFactura = new File("src/facturas" + consecutivo + ".pdf");

            File carpeta = new File("web/pdfs");
            System.out.println(carpeta.exists());
            if (!carpeta.exists()) {
                carpeta.mkdirs();
            }
            String[] list = carpeta.list();
            consecutivo = list.length;
            System.out.println("Consecutivo es: " + consecutivo);
            int total = 0;
            FileOutputStream archivo = new FileOutputStream("web/pdfs/" + consecutivo + ".pdf");
            Document documento = new Document();
            PdfWriter.getInstance(documento, archivo);
            documento.open();
            Paragraph titulo = new Paragraph("Resumen de Actividades");
            titulo.setAlignment(Element.ALIGN_CENTER);
            documento.add(titulo);

            documento.add(new Paragraph(
                    "------------------------------------------------------------------------------------------------------------------------------"));
            documento.add(new Paragraph("Usuario: " + usuario));
            documento.add(new Paragraph(" "));
            //         documento.add(new Paragraph("------------------------------------------------------------------------------------------------------------------------------"));
            documento.add(new Paragraph(" "));
            documento.add(new Paragraph(" "));
            //         documento.add(new Paragraph(" "));
            //         documento.add(new Paragraph(" "));
            documento.add(new Paragraph("  "));
            PdfPTable tabla = new PdfPTable(7);
            Image image = Image.getInstance("../EasyTasks/web/images/logo.png");

            //         tabla.addCell(image);
            Paragraph nombreBase = new Paragraph("Nombre ");
            Paragraph descripcionBase = new Paragraph("Descripcion     ");
            Paragraph fechaBase = new Paragraph("Fecha ");
            Paragraph prioridadBase = new Paragraph("Prioridad  ");
            Paragraph tagsBase = new Paragraph("Tags");
            Paragraph categoriaBase = new Paragraph("Categoria  ");
            Paragraph ubicacionBase = new Paragraph("Ubicacion    ");

            //         tabla.addCell(image);
            tabla.addCell(nombreBase);
            tabla.addCell(descripcionBase);
            tabla.addCell(fechaBase);
            tabla.addCell(prioridadBase);
            tabla.addCell(tagsBase);
            tabla.addCell(categoriaBase);
            tabla.addCell(ubicacionBase);
            for (int i = 0; i < tareas.size(); i++) {

                Tarea tareaNueva = tareas.get(i);
                Paragraph nombre = new Paragraph(tareaNueva.getNombre());
                Paragraph descripcion = new Paragraph(tareaNueva.getDescripcion());
                Paragraph fecha = new Paragraph(tareaNueva.getFechaLimite() + "");
                Paragraph prioridad = new Paragraph(tareaNueva.getPrioridad());
                Paragraph tags = null;
                for (int k = 0; k < tareaNueva.getTags().size(); k++) {
                    tags = new Paragraph(tareaNueva.getTags().get(k));
                }
                Paragraph categoria = new Paragraph(tareaNueva.getCategoria());
                Paragraph ubicacion = new Paragraph(
                        tareaNueva.getUbiLatitud() + ", " + tareaNueva.getUbiLongitud());
                //            Paragraph tost = new Paragraph(tareaNueva.toStringSimple());

                tabla.addCell(nombre);
                tabla.addCell(descripcion);
                tabla.addCell(fecha);
                tabla.addCell(prioridad);
                tabla.addCell(tags);
                tabla.addCell(categoria);
                tabla.addCell(ubicacion);
                //            tabla.addCell(tost);

            }

            //         FileReader fr = new FileReader("src/archivos/pedidos.txt");
            //         BufferedReader bwa = new BufferedReader(fr);
            //         String elProducto = bwa.readLine();
            //         while (elProducto != null) {
            //            if (!elProducto.equalsIgnoreCase("")) {
            //               System.out.println("El producto: " + elProducto);
            //               String[] elProductoConPrecio = elProducto.split("-");
            //               Paragraph producto = new Paragraph(elProductoConPrecio[0]);
            //               Paragraph precio = new Paragraph(elProductoConPrecio[1]);
            //               total += Integer.parseInt(elProductoConPrecio[1]);
            //               precio.setAlignment(Element.ALIGN_RIGHT);
            //               tabla.addCell(producto);
            //               tabla.addCell(precio);
            //               elProducto = bwa.readLine();
            //            }
            //         }
            //         if (!darIva().equals("") && !darIva().equals("0")) {
            //            tabla.addCell("Subtotal");
            //            Paragraph elSubTotal = new Paragraph("" + total);
            //            elSubTotal.setAlignment(Element.ALIGN_RIGHT);
            //            tabla.addCell(elSubTotal);
            //            tabla.addCell("Iva (" + darIva() + ")");
            //            int iva = total * Integer.parseInt(darIva()) / 100;
            //            tabla.addCell("" + iva);
            //            int precioConIva = total + iva;
            //            tabla.addCell("Total");
            //            Paragraph elTotal = new Paragraph("" + precioConIva);
            //            elTotal.setAlignment(Element.ALIGN_RIGHT);
            //            tabla.addCell(elTotal);
            //         } else {
            //            tabla.addCell("Total");
            //            Paragraph elTotal = new Paragraph("" + total);
            //            elTotal.setAlignment(Element.ALIGN_RIGHT);
            //            tabla.addCell(elTotal);
            //         }
            documento.add(tabla);
            documento.add(new Paragraph(
                    "----------------------------------------------------------------------------------------------"));
            documento.add(new Paragraph("Muchas gracias por utilizar nuestro servicio,"));
            documento.add(new Paragraph(""));
            //         Image image = Image.getInstance("logo.png");
            documento.addCreator("EasyTask Team");
            documento.add(image);
            documento.addCreationDate();
            //         PdfPCell cell2 = new PdfPCell(image, true);

            //         tabla.addCell(cell2);
            documento.add(new Paragraph(""));
            documento.add(new Paragraph("         EasyTask Team"));
            documento.close();
            File elInforme = new File("../EasyTasks/web/pdfs/" + usuario + ".pdf");
            Desktop.getDesktop().open(elInforme);
            //         BufferedWriter br = new BufferedWriter(new FileWriter("src//pedidos.txt"));
            //         br.write("");
            //         br.close();
            //         fr.close();
            //         bwa.close();
            archivo.close();
        } catch (FileNotFoundException ex) {
            Logger.getLogger(AdminPDF.class.getName()).log(Level.SEVERE, null, ex);
        } catch (IOException ex) {
            Logger.getLogger(AdminPDF.class.getName()).log(Level.SEVERE, null, ex);
        } catch (DocumentException ex) {
            Logger.getLogger(AdminPDF.class.getName()).log(Level.SEVERE, null, ex);
        } finally {
        }

    }

}