Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - mikezero84

#1
Buen Día, Hector me he topado con ese mismo problema, hasta el momento lo que había hecho es la manera difícil, crear un pdf en una carpeta temporal pero si es muy tardado, algún ejemplo que me puedas aportar para entender como hacerlo al vuelo?, te lo agradecería.

Saludos

dejo mi codigo:

<%@page contentType = "text/html" pageEncoding="UTF-8"%>
<%@page import = "java.io.IOException"%>
<%@page import = "java.io.OutputStream"%>
<%@page import = "java.io.FileOutputStream"%>
<%@page import = "java.io.File"%>
<%@page import = "java.io.BufferedWriter"%>
<%@page import = "java.io.OutputStreamWriter"%>
<%@page import = "javax.servlet.ServletException"%>
<%@page import = "javax.servlet.http.HttpServlet"%>
<%@page import = "javax.servlet.http.HttpServletRequest"%>
<%@page import = "javax.servlet.http.HttpServletResponse"%>
<%@page import = "org.xhtmlrenderer.pdf.ITextRenderer"%>
<%@page import = "javax.servlet.http.HttpSession"%>
<%@page import = "java.sql.SQLException"%>
<%@page import = "java.io.PrintWriter"%>


<%@page import = "java.util.Vector"%>
<%@page import = "java.io.InputStream"%>
<%@page import = "java.io.FileInputStream"%>

<%@ page import="java.util.Vector" %>
<%@page import="java.util.ArrayList"%>

<%@page import= "java.sql.Timestamp"%>
<%@page import= "java.util.Date"%>
<%@page import= "java.text.SimpleDateFormat"%>



<%
   
    String strCadena = "";
    String htmlPDF = "";
    String strOrientacion = "";
    String strResultado = "";
    String strDependencia = "";
    String DATE_FORMAT = "yyMMddHHmmss";
    String fecha = "";
   
    int iPagina = 1;
    int iTotalEmpleados = 0;
    int iPaginaInicio = 0;
    int iPaginaFinal = 0;
    long iTotalPaginas = 0;
    int iOpcion = 0;
    int iRangoDesde = 0;
    int iRangoHasta = 0;
    int iOrdenar = 1;
    int iRegsXpagina = 10000;
   
    ArrayList vcResultado = null;
    Vector vcColumnas = null;

    int iColumnas = 0;
   
    File inputFile;
   
    ResultSQL result = null;
   
    try{
       
        if (request.getParameter("input-opcion")!= null
                && !request.getParameter("input-opcion").equals("undefined")){
                String tmp = request.getParameter("input-opcion");
            iOpcion = Integer.parseInt(tmp);
            }
       
         if (iOpcion == 4){
                    if (request.getParameter("input-rangoDesde")!= null
                        && !request.getParameter("input-rangoDesde").equals("undefined")){
                        iRangoDesde = Integer.parseInt(request.getParameter("input-rangoDesde"));
                    }
                   
                    if (request.getParameter("input-rangoHasta")!= null
                        && !request.getParameter("input-rangoHasta").equals("undefined")){
                        iRangoHasta = Integer.parseInt(request.getParameter("input-rangoHasta"));
                    }
            }else{
                if (request.getParameter("input-buscarCadena")!= null
                    && !request.getParameter("input-buscarCadena").equals("undefined")){
                    strCadena = request.getParameter("input-buscarCadena");
                }
            }
       
            if(request.getParameter("ordenar")!= null
                && !request.getParameter("ordenar").equals("")
                && !request.getParameter("ordenar").equals("undefined")){
            iOrdenar = Integer.parseInt(request.getParameter("ordenar"));
            }

            if (request.getParameter("orientacion")!= null
                && !request.getParameter("orientacion").equals("undefined")){
            strOrientacion = request.getParameter("orientacion");
            }
       
        //**XHTML
        Date date = new Date();
        SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
        fecha += sdf.format(date);
        inputFile = new File(getServletContext().getRealPath("tmp/temporal"+fecha+".xhtml"));

        if(!inputFile.exists()){ 
            inputFile.createNewFile();
        }
       
        result = new ResultSQL();
        result.setStrSever(request.getHeader("host"));
        result.setStrUbicacion(getServletContext().getRealPath("").toString());
        result.setiRegistrosXPagina(iRegsXpagina);
       
        result.resultSQLConecta("logsweb");
       
        String strTempEmpleados = "";
       
        if (iOpcion !=  4){
            vcResultado = (ArrayList) result.getConsultaEmpleados(strCadena, iOpcion, false, iPagina, iOrdenar, strOrientacion, true);
        }
        else{
            vcResultado = (ArrayList) result.getConsultaEmpleadosRangos(iRangoDesde,iRangoHasta, false, iPagina, iOrdenar, strOrientacion, true);
        }
                       
        Empleado empleado = null;
       
        strResultado +="    <div id='tbConsultasRecibidas' class='tabla-seguimiento'> "+
                                     "    <table class='tabla' id='tbConsultasRecibidas-tabla' align='center'>"+
                                     "              <thead>"+
                                     "    <tr class='thead'>";
       
        if (iOpcion != 2){
       
            strResultado +="                              <th>Dependencia</th>"+
                                         "                              <th>Nombre</th>"+
                                         "                              <th>Puesto</th>"+
                                         "                              <th>Sueldo Bruto (Incluye prestaciones)</th>"+
                                         "                              <th>Prima Vacacional</th>"+
                                         "                              <th>Aguinaldo</th>"+
                                         "                              <th>Pagos Anuales</th>"+
                                         "    </tr>"+
                                         "              </thead>"+
                                         "              <tbody>";
        }
        else{
                strResultado +="                              <th>Nombre</th>"+
                                         "                              <th>Puesto</th>"+
                                         "                              <th>Sueldo Bruto (Incluye prestaciones)</th>"+
                                         "                              <th>Prima Vacacional</th>"+
                                         "                              <th>Aguinaldo</th>"+
                                         "                              <th>Pagos Anuales</th>"+
                                            "    </tr>"+
                                            "              </thead>"+
                                            "              <tbody>";
        }
       
        for(int i = 0 ; i < vcResultado.size(); i++){

                empleado = (Empleado) vcResultado.get(i);

                String strOpcion = "";
                   
                if (iOpcion != 2){
                   
                    strResultado += "<tr class='fila1'>  "+
                                                  "     <td id='cadena'>"+empleado.getStrDependencia() + "</td>"+
                                                  "     <td id='cadena'>"+empleado.getStrNombre() + "</td>"+
                                                  "     <td id='cadena'>"+empleado.getStrPuesto() + "</td>"+
                                                  "     <td id='moneda'>"+empleado.getStrSueldo() + "</td>"+
                                                  "     <td id='moneda'>"+empleado.getStrPrimaVacacional() + "</td>"+
                                                  "     <td id='moneda'>"+empleado.getStrAguinaldo() + "</td>"+
                                                  "     <td id='moneda'>"+empleado.getStrPagosAnuales() + "</td>";
                    strResultado += "</tr>" ;
                   
                    }else{
                       
                            strResultado += "<tr class='fila1'>  "+
                                                          "     <td id='cadena'>"+empleado.getStrNombre() + "</td>"+
                                                          "     <td id='cadena'>"+empleado.getStrPuesto() + "</td>"+
                                                          "     <td id='moneda'>"+empleado.getStrSueldo() + "</td>"+
                                                          "     <td id='moneda'>"+empleado.getStrPrimaVacacional() + "</td>"+
                                                          "     <td id='moneda'>"+empleado.getStrAguinaldo() + "</td>"+
                                                          "     <td id='moneda'>"+empleado.getStrPagosAnuales() + "</td>";
                            strResultado += "</tr>" ;
                            strDependencia = empleado.getStrDependencia().toUpperCase();
                    }
        }
        strResultado+="             </tbody> "+
                                    "               <tfoot>  "+
                                    "               </tfoot> "+
                                    "           </table> "+
                                    "       </div>";
       
       
        htmlPDF +=     "<!DOCTYPE html>  "+
                                "<html> "+
                                "<head> "+
                                "<meta charset='UTF-8'></meta> "+
                                "<title>Sueldos de Personal</title> "+
                                "<link rel='stylesheet' media='print' href='../css/print.css' type='text/css'></link> "+
                                "</head> "+
                                "<body> "+
                                "<div class='contenedor-Principal'> "+
                                "    <div class='titulos'> "+
        if (iOpcion == 2){
            htmlPDF +="        <h4>"+strDependencia+"</h4> ";
        }
            htmlPDF +="    </div> "+
                                "    <br/> "+
                                "    <br/> "+
                                "    <br/> "+
                                        strResultado+
                                "</div> "+
                                "</body> "+
                                "</html>";
       
        BufferedWriter Fescribe=new BufferedWriter(new OutputStreamWriter(new FileOutputStream(inputFile,false), "utf-8"));   
        Fescribe.write(htmlPDF); 
        Fescribe.close();

        //***PDF
        String outputFile = getServletContext().getRealPath("tmp/sueldosplantilla"+ fecha +".pdf");

        OutputStream os = new FileOutputStream(outputFile);
               
        ITextRenderer renderer = new ITextRenderer();
       
        renderer.setDocument(inputFile);   
        renderer.layout();
        renderer.createPDF(os);
        os.close();

        //***Borrar XHTML
        if(inputFile.exists()){   
            inputFile.delete();   
        }
       
     }catch(Exception e){
        out.println("-1");
        Bitacora bitacora = new Bitacora();
        bitacora.setStrServer(request.getHeader("host"));
        bitacora.setStrUbicacion(getServletContext().getRealPath("").toString());
        bitacora.setITipoBitacora(1);
        bitacora.setStrInformacion(e, request.getServletPath());
        bitacora.grabaBitacora();
    }finally{
       
    }

%>
<!DOCTYPE html>
<html>
  <head>
    <title>
    </title>
      <script type='text/javascript' src='js/jquery-1.8.2.js'></script>
      <script type="text/javascript">
          window.location.replace("../tmp/sueldosplantilla<%=fecha%>.pdf");
      </script>
  </head>
  <body>
    <header>Header</header>
    <div id='content'>Content</div>
    <div id='footer'>Footer</div>
  </body>
</html>