Example usage for com.itextpdf.text Document Document

List of usage examples for com.itextpdf.text Document Document

Introduction

In this page you can find the example usage for com.itextpdf.text Document Document.

Prototype


public Document() 

Source Link

Document

Constructs a new Document -object.

Usage

From source file:com.bicitools.dao.RutasDAODecorador.java

@Override
public RespuestaJson exportarRecorridosRuta(String usuario, String fechaIni, String fechaFin, String archivo) {

    Ruta r = new Ruta();
    RespuestaJson res = new RespuestaJson();
    res = getRutasDAO().exportarRecorridosRuta(usuario, fechaIni, fechaFin, archivo);
    Vector qresul = null;/*from  w w  w .j av  a  2s.c o  m*/
    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date fechaUno, fechaDos;
    try {
        fechaUno = formatter.parse(fechaIni);
        fechaDos = formatter.parse(fechaFin);
    } catch (ParseException ex) {
        String inputStr = "01-01-1900 00:00:00";
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        try {
            fechaUno = dateFormat.parse(inputStr);
        } catch (Exception miex) {
            fechaUno = new java.util.Date();
        }
        fechaDos = new java.util.Date();
    }

    try {

        Query query = em.createNamedQuery("Ruta.findByUsuarioFechas");
        query.setParameter("usuario", usuario);
        query.setParameter("fechaIni", fechaUno, TemporalType.TIMESTAMP);
        query.setParameter("fechaFin", fechaDos, TemporalType.TIMESTAMP);
        qresul = (Vector) query.getResultList();

        if (qresul.size() > 0) {
            int i;
            ArrayList rta = new ArrayList();

            // Se crea el documento
            Document documento = new Document();

            // Se crea el OutputStream para el fichero donde queremos dejar el pdf.
            FileOutputStream ficheroPdf = null;
            //ficheroPdf = new FileOutputStream("/Users/jhony/Documents/Uni Andes/Fabricas/Bicitools/bicitools/reporte.pdf");

            DateFormat dateFormat = new SimpleDateFormat("ddMMyyyy_HHmmss");
            Date fechaReporte = new Date();

            ficheroPdf = new FileOutputStream(archivo + "/Reporte_RutasRecorridos_" + usuario + "_"
                    + dateFormat.format(fechaReporte) + ".pdf");

            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20);

            // Se abre el documento.
            documento.open();

            documento.add(new Paragraph("Reporte de Recorridos por Ruta para " + usuario));
            documento.add(new Paragraph(" "));

            Date fechaSalida = fechaUno;

            // Create an instance of SimpleDateFormat used for formatting
            DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            String reportDate = df.format(fechaSalida);
            documento.add(new Paragraph("Fecha Inicial: " + reportDate));
            fechaSalida = fechaDos;
            reportDate = df.format(fechaSalida);
            documento.add(new Paragraph("Fecha Final: " + reportDate));

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

            for (i = 0; i < qresul.size(); i++) {
                PdfPTable tabla = new PdfPTable(3);

                Ruta miRuta = (Ruta) qresul.get(i);
                RutaPunto puntos = new RutaPunto();
                DatosRutasRecorridosJson rutaSalida = new DatosRutasRecorridosJson();
                //ruta

                //ArrayList<DatosLugaresJson> lugares = obtenerPuntosRutaUsuario(miRuta.getNombre());
                //rutaSalida.setLugares(lugares);
                RutaPunto puntoUno;
                RutaPunto puntoDos;

                //ruta 1
                rutaSalida.setNombre(miRuta.getNombre());
                // Create an instance of SimpleDateFormat used for formatting 
                df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                rutaSalida.setFechaHora(df.format(miRuta.getFechaCreacion()));

                //obtiene primer y ultimo punto
                puntoUno = obtenerPuntoRutaIndiceUsuario(miRuta.getNombre(), 0);
                puntoDos = obtenerPuntoRutaIndiceUsuario(miRuta.getNombre(), -1);

                //consumeServicio Tiempo y distancia
                final Gson prettyGson = new GsonBuilder().setPrettyPrinting().create();
                DatosConsumoPuntoRutaJson entrada = new DatosConsumoPuntoRutaJson();

                entrada.setLatitudOrigen(Double.parseDouble(puntoUno.getLatitud()));
                entrada.setLongitudOrigen(Double.parseDouble(puntoUno.getLongitud()));
                entrada.setLatitudDestino(Double.parseDouble(puntoDos.getLatitud()));
                entrada.setLongitudDestino(Double.parseDouble(puntoDos.getLongitud()));
                final String representacionBonita = prettyGson.toJson(entrada);

                res = ConsumeServicios.consumeTiempoDist(representacionBonita);

                if (res.getCodigo() == 0) {

                    ArrayList<TiempoDistanciaInfo> datos;
                    TiempoDistanciaInfo infoRuta;

                    datos = res.getDatos();

                    infoRuta = (TiempoDistanciaInfo) datos.get(0);

                    //rutaSalida.setDistancia(infoRuta.getDistancia().replace("\"",""));
                    //rutaSalida.setTiempo(infoRuta.getTiempo().replace("\"",""));
                    documento.add(new Paragraph("Nombre: " + miRuta.getNombre()));
                    documento.add(
                            new Paragraph("Distancia calculada: " + infoRuta.getDistancia().replace("\"", "")));
                    documento.add(new Paragraph("Tiempo estimado: " + infoRuta.getTiempo().replace("\"", "")));
                    documento.add(new Paragraph("-------Recorridos-----"));
                    documento.add(new Paragraph(" "));
                    tabla.addCell(infoRuta.getDistancia().replace("\"", ""));
                    tabla.addCell(infoRuta.getTiempo().replace("\"", ""));

                    rutaSalida.setRecorridos(obtenerRecoRuta(usuario, fechaIni, fechaFin, miRuta.getNombre()));
                    documento.add(new Paragraph("---------------------"));
                    documento.add(new Paragraph(" "));
                    rta.add(rutaSalida);
                    res = ConstruyeRespuesta.construyeRespuestaOk();
                    //res.setDatos(rta);

                    documento.add(tabla);
                }

            }
            documento.add(new Paragraph(" "));
            try {
                Image foto = Image.getInstance(
                        "http://1.bp.blogspot.com/-fV-ThFg9bN0/UCr4VMFrJ-I/AAAAAAAAEYQ/-_vIDIYDLz8/s1600/dibujo-pintar-doki-bicicleta.jpg");
                foto.scaleToFit(100, 100);
                foto.setAlignment(Chunk.ALIGN_CENTER);
                documento.add(foto);
            } catch (IOException | DocumentException e) {
            }
            documento.close();

        } else {
            res = ConstruyeRespuesta.construyeRespuestaFalla("no hay datos " + qresul.size());
        }
    } catch (Exception ex) {
        res = ConstruyeRespuesta.construyeRespuestaFalla("error " + ex.getMessage());

    }
    //res.setDescripcion("numero de datos devueltos " + qresul.size());
    return res;
}

From source file:com.bicitools.dao.RutasDAODecorador.java

@Override
public RespuestaJson exportarReporteMetricasUsuario(String usuario, String fechaIni, String fechaFin,
        String archivo) {//w ww .  j av a2  s  .  c  o m
    RespuestaJson res = new RespuestaJson();
    res = getRutasDAO().exportarReporteMetricasUsuario(usuario, fechaIni, fechaFin, archivo);

    SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

    Date fechaUno, fechaDos;
    try {
        fechaUno = formatter.parse(fechaIni);
        fechaDos = formatter.parse(fechaFin);
    } catch (ParseException ex) {
        String inputStr = "01-01-1900 00:00:00";
        DateFormat dateFormat = new SimpleDateFormat("dd-MM-yyyy HH:mm:ss");
        try {
            fechaUno = dateFormat.parse(inputStr);
        } catch (Exception miex) {
            fechaUno = new java.util.Date();
        }
        fechaDos = new java.util.Date();
    }

    Query query = em.createNamedQuery("Ruta.findMetricasByUsuario");
    query.setParameter("usuario", usuario);
    query.setParameter("fechaIni", fechaUno, TemporalType.TIMESTAMP);
    query.setParameter("fechaFin", fechaDos, TemporalType.TIMESTAMP);
    List<Object[]> qresul = query.getResultList();

    if (qresul.size() > 0) {

        try {

            // Se crea el documento
            Document documento = new Document();

            // Se crea el OutputStream para el fichero donde queremos dejar el pdf.
            FileOutputStream ficheroPdf = null;
            //ficheroPdf = new FileOutputStream("/Users/jhony/Documents/Uni Andes/Fabricas/Bicitools/bicitools/reporte.pdf");

            DateFormat dateFormat = new SimpleDateFormat("ddMMyyyy_HHmmss");
            Date fechaReporte = new Date();

            ficheroPdf = new FileOutputStream(
                    archivo + "/Reporte_" + usuario + "_" + dateFormat.format(fechaReporte) + ".pdf");

            // Se asocia el documento al OutputStream y se indica que el espaciado entre
            // lineas sera de 20. Esta llamada debe hacerse antes de abrir el documento
            PdfWriter.getInstance(documento, ficheroPdf).setInitialLeading(20);

            // Se abre el documento.
            documento.open();

            documento.add(new Paragraph("Reporte de Actividad para " + usuario));
            documento.add(new Paragraph(" "));
            /*documento.add(new Paragraph("Este es el segundo y tiene una fuente rara",
             FontFactory.getFont("arial", // fuente
             22, // tamao
             Font.ITALIC, // estilo
             BaseColor.CYAN)));             // color
             */

            documento.add(new Paragraph("Fecha Inicial: " + fechaUno));
            documento.add(new Paragraph("Fecha Final: " + fechaDos));

            documento.add(new Paragraph(" "));
            documento.add(new Paragraph(" "));
            PdfPTable tabla = new PdfPTable(3);
            tabla.addCell("Fecha");
            tabla.addCell("Tiempo");
            tabla.addCell("Distancia");

            int distanciaTotal = 0, tiempoTotal = 0;
            ArrayList<DatosMetricasReportesJson> rta = new ArrayList<>();
            ArrayList<DatosMetricasUsuarioJson> lista = new ArrayList<>();
            DatosMetricasReportesJson salida = new DatosMetricasReportesJson();
            MetricasUsuario total = new MetricasUsuario();
            lista.clear();

            for (Object[] object : qresul) {
                Date fechaSalida = (Date) object[2];

                // Create an instance of SimpleDateFormat used for formatting
                DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

                String reportDate = df.format(fechaSalida);

                tabla.addCell(reportDate);
                tabla.addCell((String) object[1]);
                tabla.addCell((String) object[0]);

                distanciaTotal += Integer.parseInt((String) object[0]);
                tiempoTotal += Integer.parseInt((String) object[1]);

            }

            documento.add(tabla);

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

            documento.add(new Paragraph("Tiempo Total: " + tiempoTotal));
            documento.add(new Paragraph("Distancia Total: " + distanciaTotal));

            documento.add(new Paragraph(" "));
            try {
                Image foto = Image.getInstance(
                        "http://1.bp.blogspot.com/-fV-ThFg9bN0/UCr4VMFrJ-I/AAAAAAAAEYQ/-_vIDIYDLz8/s1600/dibujo-pintar-doki-bicicleta.jpg");
                foto.scaleToFit(100, 100);
                foto.setAlignment(Chunk.ALIGN_CENTER);
                documento.add(foto);
            } catch (Exception e) {
                e.printStackTrace();
            }
            res = ConstruyeRespuesta.construyeRespuestaOk();

            documento.close();
            //res.setDatos(rta);

        } catch (DocumentException ex) {
            Logger.getLogger(RutasDAO.class.getName()).log(Level.SEVERE, null, ex);
        } catch (FileNotFoundException ex) {
            Logger.getLogger(RutasDAO.class.getName()).log(Level.SEVERE, null, ex);
        }

    } else {
        res = ConstruyeRespuesta.construyeRespuestaFalla("no hay datos " + qresul.size());
    }

    return res;
}

From source file:com.bitirmeProje.servlet.akademisyenTablo.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {/* w  ww  .j a v  a 2s  .  c  o m*/
        response.setContentType("text/html;charset=UTF-8");

        HttpSession session = request.getSession();

        String donem = request.getParameter("donem");

        String akademisyen = request.getParameter("akademisyen");
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition",
                "attachment;filename=" + donem + "_" + akademisyen + "_plani.pdf");
        //String k = "<html>\n<body>\n<table border='1'>\n<tr>\n <td>This is my Project</td> \n</tr>\n</table>\n</body>\n</html>";

        String k = String.valueOf(session.getAttribute("tablo"));

        //out.println(k);

        Document document = new Document();

        document.setPageSize(PageSize.LEGAL.rotate());

        StringReader reader = new StringReader(k);
        PdfWriter writer;

        writer = PdfWriter.getInstance(document, response.getOutputStream());

        document.open();

        InputStream is = new ByteArrayInputStream(k.getBytes());
        XMLWorkerHelper.getInstance().parseXHtml(writer, document, reader);

        document.close();
        response.reset();
        session.removeAttribute("tablo");
    } catch (DocumentException ex) {
        Logger.getLogger(sinifTablo.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.bitirmeProje.servlet.sinifTablo.java

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    try {/*from  www . jav a2 s  .co  m*/
        response.setContentType("text/html;charset=UTF-8");

        HttpSession session = request.getSession();

        String donem = request.getParameter("donem");

        String sinif = request.getParameter("sinif");
        response.setContentType("application/pdf");
        response.setHeader("Content-Disposition", "attachment;filename=" + donem + "_" + sinif + "_plani.pdf");
        //String k = "<html>\n<body>\n<table border='1'>\n<tr>\n <td>This is my Project</td> \n</tr>\n</table>\n</body>\n</html>";

        String k = String.valueOf(session.getAttribute("tablo"));

        //out.println(k);

        Document document = new Document();

        document.setPageSize(PageSize.LEGAL.rotate());

        StringReader reader = new StringReader(k);
        PdfWriter writer;

        writer = PdfWriter.getInstance(document, response.getOutputStream());

        document.open();

        InputStream is = new ByteArrayInputStream(k.getBytes());
        XMLWorkerHelper.getInstance().parseXHtml(writer, document, reader);

        document.close();
        response.reset();
        session.removeAttribute("tablo");
    } catch (DocumentException ex) {
        Logger.getLogger(sinifTablo.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:com.CadastrarLaudoController.java

@FXML
private void handleButtonImprimirLaudo(ActionEvent event) throws IOException {
    Alert alert = new Alert(Alert.AlertType.WARNING);
    alert.setTitle("Laudo");
    alert.setHeaderText("Impresso de Laudo");
    alert.setContentText("Mtodo para impresso de Laudo");
    alert.showAndWait();//  w w w.j  ava2s  . c o m

    try {
        //Imprimir imprimir = new Imprimir();
        PASTA = System.getProperty("user.home") + "\\Temp\\";
        com.util.Imprimir.createDirectoryFileExists(PASTA, FILE);

        Document document = new Document();
        PdfWriter.getInstance(document, new FileOutputStream(PASTA + FILE));
        document.open();

        com.util.Imprimir.addTitlePage(document);
        com.util.Imprimir.addContent(document);

        //addTitlePage(document);
        //addContent(document);
        document.close();
    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:com.centurylink.mdw.pdf.PdfExportHelper.java

License:Apache License

public byte[] exportProcess(Process process, File outputFile) throws Exception {
    new ActivityNodeSequencer(process).assignNodeSequenceIds();
    Document document = new Document();
    DocWriter writer = PdfWriter.getInstance(document, new FileOutputStream(outputFile));
    document.open();/*from   w w w . j a v a 2s .  c  om*/
    document.setPageSize(PageSize.LETTER);
    Rectangle pageSize = document.getPageSize();
    Chapter chapter = printProcessPdf(writer, 1, process, pageSize);
    document.add(chapter);
    document.close();

    return Files.readAllBytes(Paths.get(outputFile.getPath()));
}

From source file:com.coast.PDFPrinter_iText.java

License:Apache License

/**
 * Prints the document at its actual size. This is the recommended way to print.
 *//*from   w ww .ja v a  2s . com*/
private static void print(String pFileName, String pPayload) throws IOException, Exception {
    Document document = new Document();
    // step 2
    PdfWriter.getInstance(document, new FileOutputStream(pFileName));
    // step 3
    document.open();
    // step 4
    String _dateTime = LocalDateTime.now().toString();
    document.addTitle("List of All Customers & their assets as of: " + _dateTime);
    document.addCreationDate();
    document.addSubject("List of All Customers & their assets as of: " + _dateTime);

    Font _font = new Font();
    _font.setColor(BaseColor.BLUE);
    _font.setStyle(Font.BOLD);
    _font.setSize(15);

    Chunk _chunk = new Chunk("List of All Customers & their assets as of: " + _dateTime);
    _chunk.setFont(_font);
    Paragraph _header = new Paragraph();
    _header.add(_chunk);
    document.add(_header);
    document.add(new Paragraph(pPayload));

    // step 5
    document.close();
}

From source file:com.cs.sis.controller.gerador.GeradorPDF.java

public String gerarPdfRelatorioEstoqueProdutos(boolean valoresNegativos, File destino) {
    Document doc = new Document();
    try {/*w  w  w. j  a v  a 2 s.  c  o  m*/
        String path = a.getRelatorio().getCanonicalPath() + destino.getName();
        PdfWriter.getInstance(doc, new FileOutputStream(path));
        doc.open();
        //String subTitulo = "Estoque Verificado no dia "
        //        + new SimpleDateFormat("dd/MM/yyyy HH:mm").format(Calendar.getInstance().getTime());

        String subTitulo = "Balano Geral de Estoque do perodo 01/12/2017  31/12/2017";
        inserirHead(doc,
                "Mercadinho Popular\n" + "Edvaneide Torres Vilar de Carvalho\n" + "CNPJ: 07.643.907/0001-18",
                subTitulo);

        PdfPTable table = getTableEstoqueProdutos(valoresNegativos);

        doc.add(table);

        doc.close();
        Arquivo.copyFile(new File(path), destino);
        return destino.getAbsolutePath();
    } catch (DocumentException | IOException e) {
        e.printStackTrace();
        return "";
    }
}

From source file:com.cs.sis.controller.gerador.GeradorPDF.java

public String gerarPdfRelatorioEstoqueProdutos(boolean valoresNegativos, boolean pararLista,
        Calendar dataInicio, Calendar dataFim, List<String> codigos_retirados, double total_requisitado,
        File destino) {// w  ww.  j a va 2s  . co  m
    Document doc = new Document();
    try {
        String path = a.getRelatorio().getCanonicalPath() + destino.getName();
        PdfWriter instance = PdfWriter.getInstance(doc, new FileOutputStream(path));
        doc.open();

        //String subTitulo = "Estoque Verificado no dia "
        //        + new SimpleDateFormat("dd/MM/yyyy HH:mm").format(Calendar.getInstance().getTime());

        String data = "";
        try {
            data += OperacaoStringUtil.formatDataValor(dataInicio) + "  "
                    + OperacaoStringUtil.formatDataValor(dataFim);
        } catch (NullPointerException e) {
            data += ("01/01/" + (Calendar.getInstance().get(Calendar.YEAR) - 1)) + "  ";
            data += ("31/12/" + (Calendar.getInstance().get(Calendar.YEAR) - 1));
        }

        String subTitulo = "Balano Geral de Estoque do perodo " + data; //" 01/12/2017  31/12/2017";
        inserirHead(doc,
                "Mercadinho Popular\n" + "Edvaneide Torres Vilar de Carvalho\n" + "CNPJ: 07.643.907/0001-18",
                subTitulo);

        PdfPTable table = getTableEstoqueProdutos(valoresNegativos, pararLista, codigos_retirados,
                total_requisitado);

        doc.add(table);

        doc.close();
        Arquivo.copyFile(new File(path), destino);
        return destino.getAbsolutePath();
    } catch (DocumentException | IOException e) {
        e.printStackTrace();
        return "";
    }
}

From source file:com.cs.sis.controller.gerador.GeradorPDF.java

public String gerarPdfRelatorioDebitoClientes(double maiorQue, File destino) {
    Document doc = new Document();
    try {//  www  .  ja  v a 2  s  .c om
        String path = a.getRelatorio().getCanonicalPath() + destino.getName();
        PdfWriter.getInstance(doc, new FileOutputStream(path));
        doc.open();
        String subTitulo;
        if (maiorQue == 0) {
            subTitulo = "Dbito dos Clientes \n Refernte ao dia "
                    + new SimpleDateFormat("dd/MM/yyyy").format(Calendar.getInstance().getTime());
        } else {
            subTitulo = "Clientes com Dbitos Maiores que "
                    + OperacaoStringUtil.formatarStringValorMoedaComDescricao(maiorQue)
                    + "\n Refernte ao dia "
                    + new SimpleDateFormat("dd/MM/yyyy").format(Calendar.getInstance().getTime());
        }
        inserirHead(doc, "Dbito dos Clientes", subTitulo);

        PdfPTable table = getTableDebitoClientes(maiorQue);

        doc.add(table);

        doc.close();
        Arquivo.copyFile(new File(path), destino);
        return destino.getAbsolutePath();
    } catch (DocumentException | IOException e) {
        e.printStackTrace();
        return "";
    }

}