/// <summary> /// hecha por cesar pulido /// el dia 15 de abril de 2013 /// para generar pdf de cuenta apertura /// </summary> /// <param name="FECHA_APERTURA"></param> /// <param name="NOMBRE_BANCO"></param> /// <param name="NOMBRE_TRABAJADOR"></param> /// <param name="NUMERO_DOCUMENTO_IDENTIDAD"></param> /// <param name="NOMBRE_JEFE"></param> /// <param name="CARGO_JEFE"></param> /// <param name="TELEFONO_JEFE"></param> /// <param name="NUMERO_ROTATIVO"></param> /// <param name="CODIGO_NOMINA"></param> /// <param name="NUMERO_CUENTA"></param> /// <returns></returns> public byte[] GenerarPDFAperturaBancoBogotaCreditRotativo(DateTime FECHA_APERTURA, String NOMBRE_BANCO, String NOMBRE_TRABAJADOR, String NUMERO_DOCUMENTO_IDENTIDAD, String NOMBRE_JEFE, String CARGO_JEFE, String TELEFONO_JEFE, String NUMERO_ROTATIVO, String CODIGO_NOMINA, String NUMERO_CUENTA) { String html_encabezado = "<html>"; html_encabezado += "<head>"; html_encabezado += "</head>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //variables obtenidas de la session String EMPRESA; String NIT_EMPRESA; if (Session["idEmpresa"].ToString() == "1") { EMPRESA = tabla.VAR_NOMBRE_SERTEMPO; NIT_EMPRESA = tabla.VAR_NIT_SERTEMPO; } else { EMPRESA = tabla.VAR_NOMBRE_EYS; NIT_EMPRESA = tabla.VAR_NIT_EYS; } //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\apertura_cuenta.htm")); String html_formato_apertura = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); html_formato_apertura = html_formato_apertura.Replace("[FECHA_APERTURA]", FECHA_APERTURA.ToLongDateString()); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_BANCO]", NOMBRE_BANCO); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_TRABAJADOR]", NOMBRE_TRABAJADOR); html_formato_apertura = html_formato_apertura.Replace("[NUMERO_DOCUMENTO_IDENTIDAD]", NUMERO_DOCUMENTO_IDENTIDAD); html_formato_apertura = html_formato_apertura.Replace("[EMPRESA]", EMPRESA); html_formato_apertura = html_formato_apertura.Replace("[NIT_EMPRESA]", NIT_EMPRESA); html_formato_apertura = html_formato_apertura.Replace("[NUMERO_ROTATIVO]", NUMERO_ROTATIVO); html_formato_apertura = html_formato_apertura.Replace("[CODIGO_NOMINA]", CODIGO_NOMINA); html_formato_apertura = html_formato_apertura.Replace("[NUMERO_CUENTA]", NUMERO_CUENTA); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_JEFE]", NOMBRE_JEFE); html_formato_apertura = html_formato_apertura.Replace("[CARGO_JEFE]", CARGO_JEFE); html_formato_apertura = html_formato_apertura.Replace("[TELEFONO_JEFE]", TELEFONO_JEFE); html_formato_apertura += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 65, 65, 160, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "apertura_cuenta"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_apertura); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// hecho por cesar puldio /// el dia 16 de abril de 2013 /// para generar pdf de apertura de cuenta /// </summary> public byte[] GenerarPDFAperturaBancoAvvilla(String CIUDAD, DateTime FECHA_APERTURA, String NOMBRE_BANCO, String NOMBRE_EMPLEADO, String NUMERO_IDENTIFICACION_EMPLEADO, String NOMBRE_COMPLETO_EMPLEADO, Decimal ID_SOLICITUD, Decimal ID_REQUERIMIENTO, String NOMBRE_JEFE, String CARGO_JEFE, String CUENTA_MATRIZ) { String html_encabezado = "<html>"; html_encabezado += "<head>"; html_encabezado += "</head>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //variables obtenidas de la session String NOMBRE_EMPRESA; String NIT_EMPRESA; if (Session["idEmpresa"].ToString() == "1") { NOMBRE_EMPRESA = tabla.VAR_NOMBRE_SERTEMPO; NIT_EMPRESA = tabla.VAR_NIT_SERTEMPO; } else { NOMBRE_EMPRESA = tabla.VAR_NOMBRE_EYS; NIT_EMPRESA = tabla.VAR_NIT_EYS; } String FECHA_INGRESO; String SUELDO_BASICO; String TIPO_CONTRATO; Decimal ID_PERFIL; String CARGO_EMPLEADO; //FECHA DE INGRESO DESDE SOLICITUD DE INGRESO radicacionHojasDeVida _rad = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaRad = _rad.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaRad = tablaRad.Rows[0]; try { FECHA_INGRESO = Convert.ToDateTime(filaRad["F_ING_C"]).ToShortDateString(); } catch { FECHA_INGRESO = "Desconocida."; } //obtenermos de la requisicion el salario //cargo, //tipo contrato, //y no me acuerdo que mas. requisicion _req = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(ID_REQUERIMIENTO); DataRow filaReq = tablaReq.Rows[0]; try { SUELDO_BASICO = Convert.ToDecimal(filaReq["SALARIO"]).ToString("C"); } catch { SUELDO_BASICO = "Desconocido."; } if (DBNull.Value.Equals(filaReq["NOMBRE_HORARIO"]) == false) { TIPO_CONTRATO = filaReq["NOMBRE_HORARIO"].ToString().Trim(); } else { TIPO_CONTRATO = "Desconocido."; } try { ID_PERFIL = Convert.ToDecimal(filaReq["REGISTRO_PERFIL"]); perfil _perfil = new perfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaPerfil = _perfil.ObtenerPorRegistro(ID_PERFIL); DataRow filaPerfil = tablaPerfil.Rows[0]; if (DBNull.Value.Equals(filaPerfil["NOM_OCUPACION"]) == false) { CARGO_EMPLEADO = filaPerfil["NOM_OCUPACION"].ToString().Trim(); } else { CARGO_EMPLEADO = "Desconocido."; } } catch { CARGO_EMPLEADO = "Desconocido."; } //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\apertura_cuenta_avvillas.htm")); String html_formato_apertura = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); html_formato_apertura = html_formato_apertura.Replace("[CIUDAD]", CIUDAD); html_formato_apertura = html_formato_apertura.Replace("[FECHA_APERTURA]", FECHA_APERTURA.ToLongDateString()); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_BANCO]", NOMBRE_BANCO); html_formato_apertura = html_formato_apertura.Replace("[NIT_EMPRESA]", NIT_EMPRESA); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_EMPRESA]", NOMBRE_EMPRESA); html_formato_apertura = html_formato_apertura.Replace("[CUENTA_MATRIZ]", CUENTA_MATRIZ); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_EMPLEADO]", NOMBRE_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[NUMERO_IDENTIFICACION_EMPLEADO]", NUMERO_IDENTIFICACION_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_COMPLETO_EMPLEADO]", NOMBRE_COMPLETO_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[FECHA_INGRESO]", FECHA_INGRESO); html_formato_apertura = html_formato_apertura.Replace("[SUELDO_BASICO]", SUELDO_BASICO); html_formato_apertura = html_formato_apertura.Replace("[TIPO_CONTRATO]", TIPO_CONTRATO); html_formato_apertura = html_formato_apertura.Replace("[CARGO_EMPLEADO]", CARGO_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_JEFE]", NOMBRE_JEFE); html_formato_apertura = html_formato_apertura.Replace("[CARGO_JEFE]", CARGO_JEFE); html_formato_apertura += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 55, 55, 80, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "apertura_cuenta_avvillas"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_apertura); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
public byte[] GenerarPDFAperturaBancoBancolombia(String CIUDAD, DateTime FECHA_APERTURA, String NOMBRE_BANCO, String NUM_CONVENIO, String CUENTA_SERTEMPO, String NOMBRE_COMPLETO_EMPLEADO, String NUMERO_IDENTIFICACION_EMPLEADO, String CARGO_EMPLEADO, Decimal ID_REQUERIMIENTO, String EMPRESA_USUARIA, String NOMBRE_EMPRESA, String NOMBRE_JEFE) { String SUELDO_BASICO; String html_encabezado = "<html>"; html_encabezado += "<head>"; html_encabezado += "</head>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //obtenermos de la requisicion el salario //cargo, //tipo contrato, //y no me acuerdo que mas. requisicion _req = new requisicion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaReq = _req.ObtenerComRequerimientoPorIdRequerimiento(ID_REQUERIMIENTO); DataRow filaReq = tablaReq.Rows[0]; try { SUELDO_BASICO = Convert.ToDecimal(filaReq["SALARIO"]).ToString("C"); } catch { SUELDO_BASICO = "Desconocido."; } ////variables obtenidas de la session //String EMPRESA; //String NIT_EMPRESA; //if (Session["idEmpresa"].ToString() == "1") //{ // EMPRESA = tabla.VAR_NOMBRE_SERTEMPO; // NIT_EMPRESA = tabla.VAR_NIT_SERTEMPO; //} //else //{ // EMPRESA = tabla.VAR_NOMBRE_EYS; // NIT_EMPRESA = tabla.VAR_NIT_EYS; //} //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\apertura_cuenta_bancolombia.htm")); String html_formato_apertura = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); html_formato_apertura = html_formato_apertura.Replace("[CIUDAD]", CIUDAD); html_formato_apertura = html_formato_apertura.Replace("[FECHA_APERTURA]", FECHA_APERTURA.ToLongDateString()); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_BANCO]", NOMBRE_BANCO); html_formato_apertura = html_formato_apertura.Replace("[NUM_CONVENIO]", NUM_CONVENIO); html_formato_apertura = html_formato_apertura.Replace("[CUENTA_SERTEMPO]", CUENTA_SERTEMPO); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_COMPLETO_EMPLEADO]", NOMBRE_COMPLETO_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[NUMERO_IDENTIFICACION_EMPLEADO]", NUMERO_IDENTIFICACION_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[CARGO_EMPLEADO]", CARGO_EMPLEADO); html_formato_apertura = html_formato_apertura.Replace("[SUELDO_BASICO]", SUELDO_BASICO); html_formato_apertura = html_formato_apertura.Replace("[EMPRESA_USUARIA]", EMPRESA_USUARIA); html_formato_apertura = html_formato_apertura.Replace("[NOMBRE_JEFE]", NOMBRE_JEFE); html_formato_apertura += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 65, 65, 160, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "apertura_cuenta"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_apertura); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// HECHO POR CESAR PULIDO /// EL DIA 19 DE DICIEMBRE DE 2012 /// PARA OBTENER UN ARCHIVO CON TEXTO DE CONTRATO NO ENCONTRADO. /// </summary> /// <returns></returns> private byte[] GenerarPDFSinContrato() { String html_encabezado = "<html>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\sincontrato.htm")); String html_formato_sincontrato = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); html_formato_sincontrato += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 50, 50, 80, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; PageEventHandler.tipoDocumento = "desconocido"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_sincontrato); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// hecho por cesar pulido /// el dia 19 de diciembre de 2012 /// para generar el archivo del contrato /// </summary> /// <param name="filaInfoContrato"></param> /// <returns></returns> private byte[] ImprimirContratoO_L_COMPLETO(DataRow filaInfoContrato) { tools _tools = new tools(); Boolean CarnetIncluido = false; //En esta variable cargamos el documento plantilla segun la empresa de session StreamReader archivo; if (Session["idEmpresa"].ToString() == "1") { if (CarnetIncluido == true) { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_sertempo_obra_labor.htm")); } else { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_sertempo_obra_labor_carnet_aparte.htm")); } } else { if (CarnetIncluido == true) { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_eys_labor_contratada.htm")); } else { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_eys_labor_contratada_carnet_aparte.htm")); } } String html = archivo.ReadToEnd(); archivo.Dispose(); archivo.Close(); if (Session["idEmpresa"].ToString() == "1") { html = html.Replace("[DIR_LOGO_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/logo_sertempo.png"); html = html.Replace("[MENSAJE_LOGO]", "SERVICIOS TEMPORALES PROFESIONALES"); html = html.Replace("[NOMBRE_EMPLEADOR]", tabla.VAR_NOMBRE_SERTEMPO); html = html.Replace("[DOMICILO_EMPLEADOR]", tabla.VAR_DOMICILIO_SERTEMPO); html = html.Replace("[DESCRIPCION_CARGO]", filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper()); html = html.Replace("[SERVICIO_RESPECTIVO]", filaInfoContrato["DESCRIPCION"].ToString().Trim().ToUpper()); html = html.Replace("[EMPRESA_USUARIA]", filaInfoContrato["RAZ_SOCIAL"].ToString().Trim().ToUpper()); html = html.Replace("[DIR_FIRMA_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/firma_contrato_empleador_sertempo.jpg"); } else { html = html.Replace("[DIR_LOGO_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/logo_eficiencia.jpg"); html = html.Replace("[NOMBRE_EMPLEADOR]", tabla.VAR_NOMBRE_EYS); html = html.Replace("[DOMICILO_EMPLEADOR]", tabla.VAR_DOMICILIO_EYS); html = html.Replace("[FUNCION_CARGO]", filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper()); html = html.Replace("[ACTIVIDAD_CONTRATADA]", filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper()); html = html.Replace("[EMPRESA_DESTACA]", filaInfoContrato["RAZ_SOCIAL"].ToString().Trim().ToUpper()); html = html.Replace("[DIR_FIRMA_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/firma_contrato_empleador_eys.jpg"); } html = html.Replace("[CARGO_TRABAJADOR]", filaInfoContrato["NOM_OCUPACION"].ToString().Trim().ToUpper()); html = html.Replace("[NOMBRE_TRABAJADOR]", filaInfoContrato["APELLIDOS"].ToString().Trim().ToUpper() + " " + filaInfoContrato["NOMBRES"].ToString().Trim().ToUpper()); html = html.Replace("[TIPO_DOCUMENTO_IDENTIDAD]", filaInfoContrato["TIP_DOC_IDENTIDAD"].ToString().Trim().ToUpper()); html = html.Replace("[DOC_IDENTIFICACION]", filaInfoContrato["NUM_DOC_IDENTIDAD"].ToString().Trim().ToUpper()); html = html.Replace("[SALARIO]", Convert.ToDecimal(filaInfoContrato["SALARIO"]).ToString()); html = html.Replace("[PERIODO_PAGO]", "??"); html = html.Replace("[FECHA_INICIACION]", Convert.ToDateTime(filaInfoContrato["FECHA_INICIA"]).ToLongDateString()); html = html.Replace("[CARNE_VALIDO_HASTA]", Convert.ToDateTime(filaInfoContrato["FECHA_TERMINA"]).ToLongDateString()); //esto es para obtener la ciudad de impresión del contrato //OBTENEMOS LA CIUDAD DE FIRMA, DESDE LA CIUDAD DEL USU_LOG usuario _usuario = new usuario(Session["idEmpresa"].ToString()); DataTable tablaInfoUsuario = _usuario.ObtenerInicioSesionPorUsuLog(Session["USU_LOG"].ToString()); if (tablaInfoUsuario.Rows.Count <= 0) { html = html.Replace("[CIUDAD_FIRMA]", "Desconocida"); } else { DataRow filaInfoUsuario = tablaInfoUsuario.Rows[0]; html = html.Replace("[CIUDAD_FIRMA]", filaInfoUsuario["NOMBRE_CIUDAD"].ToString()); } DateTime fechaHoy = DateTime.Now; html = html.Replace("[DIAS_FIRMA]", fechaHoy.Day.ToString()); html = html.Replace("[MES_FIRMA]", _tools.obtenerNombreMes(fechaHoy.Month)); html = html.Replace("[ANNO_FIRMA]", fechaHoy.Year.ToString()); //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(612, 936), 15, 15, 5, 15); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; PageEventHandler.tipoDocumento = "contrato"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
protected void Button_CLAUSULAS_Click(object sender, EventArgs e) { Decimal ID_CONTRATO = Convert.ToDecimal(HiddenField_ID_CONTRATO.Value); registroContrato _registroContrato = new registroContrato(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaInfoClausulas = _registroContrato.ObtenerInfoParaImprimirClausulas(Convert.ToDecimal(HiddenField_ID_CONTRATO.Value)); if (tablaInfoClausulas.Rows.Count <= 0) { if (_registroContrato.MensajeError != null) { Informar(Panel_MENSAJE_IMPRESIONES_BASICAS, Label_MENSAJE_IMPRESIONES_BASICAS, _registroContrato.MensajeError, Proceso.Error); } else { DataTable tablaCon = _registroContrato.ObtenerConRegContratosPorRegistro(Convert.ToInt32(ID_CONTRATO)); DataRow fila = tablaCon.Rows[0]; _registroContrato.ActualizarConRegContratosImpresos(Convert.ToInt32(ID_CONTRATO), fila["CONTRATO_IMPRESO"].ToString(), "S"); Informar(Panel_MENSAJE_IMPRESIONES_BASICAS, Label_MENSAJE_IMPRESIONES_BASICAS, "ADVERTENCIA: No existen clausulas para este contrato y perfil, puede continuar, con los siguientes tramites.", Proceso.Error); } } else { tools _tools = new tools(); DataTable tablaCon = _registroContrato.ObtenerConRegContratosPorRegistro(Convert.ToInt32(ID_CONTRATO)); DataRow fila = tablaCon.Rows[0]; _registroContrato.ActualizarConRegContratosImpresos(Convert.ToInt32(ID_CONTRATO), fila["CONTRATO_IMPRESO"].ToString(), "S"); StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\clausulas.htm")); String html_clausula = archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); String html_completo = "<html><body>"; Int32 contadorClausulas = 0; foreach (DataRow filaClausula in tablaInfoClausulas.Rows) { if (contadorClausulas == 0) { html_completo = html_clausula; } else { html_completo += "<div>linea para paginacion de pdf</div>"; html_completo += html_clausula; } if (Session["idEmpresa"].ToString() == "1") { html_completo = html_completo.Replace("[NOMBRE_EMPRESA]", tabla.VAR_NOMBRE_SERTEMPO); } else { html_completo = html_completo.Replace("[NOMBRE_EMPRESA]", tabla.VAR_NOMBRE_EYS); } html_completo = html_completo.Replace("[NOMBRE_TRABAJADOR]", filaClausula["NOMBRES"].ToString().Trim() + " " + filaClausula["APELLIDOS"].ToString().Trim()); html_completo = html_completo.Replace("[NOMBRE_CLAUSULA]", filaClausula["NOMBRE"].ToString().Trim()); html_completo = html_completo.Replace("[ENCABEZADO_CLAUSULA]", filaClausula["ENCABEZADO"].ToString().Trim()); html_completo = html_completo.Replace("[CONTENIDO_CLAUSULA]", filaClausula["DESCRIPCION"].ToString().Trim()); html_completo = html_completo.Replace("[DIAS]", DateTime.Now.Day.ToString()); html_completo = html_completo.Replace("[MES]", _tools.obtenerNombreMes(DateTime.Now.Month)); html_completo = html_completo.Replace("[ANNO]", DateTime.Now.Year.ToString()); contadorClausulas += 1; } html_completo += "</body></html>"; String filename = "clausulas_contrato_" + ID_CONTRATO.ToString(); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf"); Response.Clear(); Response.ContentType = "application/pdf"; iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 40, 40, 80, 40); iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream); pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "clausula"; document.Open(); String tempFile = Path.GetTempFileName(); using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_completo); } List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } document.Close(); writer.Close(); Response.End(); File.Delete(tempFile); } }
/// <summary> /// HECHO POR CESAR PULIDO /// EL DIA 19 DE DICIEMBRE DE 2012 /// PARA OBTENER EL ARCHIVO CON LA INFORMACION DE LAS AFICLIACIONES DEL EMPLEADO /// </summary> /// <param name="ID_SOLICITUD"></param> /// <param name="ID_REQUERIMIENTO"></param> /// <param name="ID_EMPLEADO"></param> /// <returns></returns> public byte[] GenerarPDFAfiliaciones(Decimal ID_SOLICITUD, Decimal ID_REQUERIMIENTO, Decimal ID_EMPLEADO, Decimal ID_CONTRATO) { tools _tools = new tools(); registroContrato _registroContrato = new registroContrato(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaInfoContrato = _registroContrato.obtenerInfoNomEmpleadoPorIdSolicitudIdRequerimiento(ID_SOLICITUD, ID_REQUERIMIENTO, ID_EMPLEADO); DataRow filaInfoContrato = tablaInfoContrato.Rows[0]; Decimal ID_AFILIACION_ARP = Convert.ToDecimal(filaInfoContrato["ID_ARP"]); Decimal ID_AFILIACION_CAJA_C = Convert.ToDecimal(filaInfoContrato["ID_CAJA_C"]); Decimal ID_AFILIACION_EPS = Convert.ToDecimal(filaInfoContrato["ID_EPS"]); Decimal ID_AFILIACION_F_PENSIONES = Convert.ToDecimal(filaInfoContrato["ID_F_PENSIONES"]); radicacionHojasDeVida _radicacionHojasDeVida = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSolicitud = _radicacionHojasDeVida.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaSolicitud = tablaSolicitud.Rows[0]; String NOMBRE_ASPIRANTE = filaSolicitud["NOMBRES"].ToString().Trim() + " " + filaSolicitud["APELLIDOS"].ToString().Trim(); String DOC_IDENTIDAD_ASPIRANTE = filaSolicitud["TIP_DOC_IDENTIDAD"].ToString().Trim() + " " + filaSolicitud["NUM_DOC_IDENTIDAD"].ToString().Trim(); String DIRECCION_ASPIRANTE = filaSolicitud["DIR_ASPIRANTE"].ToString().Trim(); String CIUDAD_ASPIRANTE = filaSolicitud["NOMBRE_CIUDAD"].ToString().Trim(); String SECTOR_ASPIRANTE = filaSolicitud["SECTOR"].ToString(); String TELEFONOS_ASPIRANTE = filaSolicitud["TEL_ASPIRANTE"].ToString(); String ASPIRACION_SALARIAL_ASPIRANTE; try { ASPIRACION_SALARIAL_ASPIRANTE = Convert.ToInt32(filaSolicitud["ASPIRACION_SALARIAL"]).ToString(); } catch { ASPIRACION_SALARIAL_ASPIRANTE = "Desconocido."; } String EMAIL_ASPIRANTE = filaSolicitud["E_MAIL"].ToString().Trim(); int EDAD_ASPIRANTE = 0; if (DBNull.Value.Equals(filaSolicitud["FCH_NACIMIENTO"]) == false) { try { EDAD_ASPIRANTE = _tools.ObtenerEdadDesdeFechaNacimiento(Convert.ToDateTime(filaSolicitud["FCH_NACIMIENTO"])); } catch { EDAD_ASPIRANTE = 0; } } //FEMENINO, MASCULINO String SEXO = "Desconocido."; String LIBRETA_MILITAR = "Desconocida."; if (DBNull.Value.Equals(filaSolicitud["SEXO"]) == false) { if (filaSolicitud["SEXO"].ToString().ToUpper() == "F") { SEXO = "Femenino"; LIBRETA_MILITAR = "No Aplica"; } else { if (filaSolicitud["SEXO"].ToString().ToUpper() == "M") { SEXO = "Masculino"; LIBRETA_MILITAR = filaSolicitud["LIB_MILITAR"].ToString(); } } } //cargo al que aspira el candidato (cargo generico) cargo _cargo = new cargo(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaOcupacionAspira = _cargo.ObtenerOcupacionPorIdOcupacion(ID_SOLICITUD); String CARGO_APLICA = "Desconocido"; if (tablaOcupacionAspira.Rows.Count > 0) { DataRow filaOcupacionAspira = tablaOcupacionAspira.Rows[0]; CARGO_APLICA = filaOcupacionAspira["NOM_OCUPACION"].ToString().Trim(); } //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\informeAfiliaciones.htm")); String html_formato_afilicaciones = archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); String html_encabezado = "<html>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; html_formato_afilicaciones = html_encabezado + html_formato_afilicaciones; html_formato_afilicaciones = html_formato_afilicaciones.Replace("[NOMBRE_TRABAJADOR]", NOMBRE_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[DOC_IDENTIDAD_TRABAJADOR]", DOC_IDENTIDAD_ASPIRANTE); if (EDAD_ASPIRANTE > 0) { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[EDAD_TRABAJADOR]", EDAD_ASPIRANTE.ToString() + " Años."); } else { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[EDAD_ASPIRANTE]", "Desconocida."); } html_formato_afilicaciones = html_formato_afilicaciones.Replace("[DIRECCION_TRABAJADOR]", DIRECCION_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[CIUDAD_TRABAJADOR]", CIUDAD_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[SECTOR_TRABAJADOR]", SECTOR_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TELEFONOS_TRABAJADOR]", TELEFONOS_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[ASPIRACION_SALARIAL_TRABAJADOR]", ASPIRACION_SALARIAL_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[EMAIL_TRABAJADOR]", EMAIL_ASPIRANTE); html_formato_afilicaciones = html_formato_afilicaciones.Replace("[LIBRETA_MILITAR_TRABAJADOR]", LIBRETA_MILITAR); //reemplazamos tag de arp String TABLA_AFILIACION_ARP = cargar_arp(ID_AFILIACION_ARP, ID_SOLICITUD, ID_EMPLEADO, ID_CONTRATO); if (TABLA_AFILIACION_ARP != null) { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_ARP]", TABLA_AFILIACION_ARP); } else { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_ARP]", ""); } //reemplazamos tag de eps String TABLA_AFILIACION_EPS = cargar_eps(ID_AFILIACION_EPS, ID_SOLICITUD, ID_EMPLEADO, ID_CONTRATO); if (TABLA_AFILIACION_EPS != null) { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_EPS]", TABLA_AFILIACION_EPS); } else { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_EPS]", ""); } //reemplazamos tag de caja de compensacion String TABLA_AFILIACION_CCF = cargar_caja(ID_AFILIACION_CAJA_C, ID_SOLICITUD, ID_EMPLEADO); if (TABLA_AFILIACION_CCF != null) { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_CCF]", TABLA_AFILIACION_CCF); } else { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_CCF]", ""); } //reemplazamos tag de FONDO DE PENSIONES String TABLA_AFILIACION_AFP = cargar_afp(ID_AFILIACION_F_PENSIONES, ID_SOLICITUD, ID_EMPLEADO); if (TABLA_AFILIACION_AFP != null) { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_AFP]", TABLA_AFILIACION_AFP); } else { html_formato_afilicaciones = html_formato_afilicaciones.Replace("[TABLA_AFILIACION_AFP]", ""); } html_formato_afilicaciones += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 40, 40, 80, 40); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "afiliaciones"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_afilicaciones); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// HECHO POR CESAR PULIDO /// EL DIA DE 16 DE ENERO DE 2013 /// PARA OBTENER UN ARREGLO DE BYTES QUE CONFORMAN EL ARCHIVO DE MANUAL DE SERVICIO DE UNA EMPRESA /// </summary> /// <param name="ID_VERSIONAMIENTO"></param> /// <param name="ID_EMPRESA"></param> /// <param name="_datos"></param> /// <returns></returns> public byte[] GenerarPDFManualServicio(Decimal ID_VERSIONAMIENTO, String versionManual, DateTime fechaEmision, DateTime fechaAPartirDe, Decimal ID_EMPRESA, Conexion _datos) { //vrificada por _datos int contadorSeccion = 0; String html_completo = String.Empty; contadorSeccion += 1; //ok--------------- String seccionIdentificacionCliente = ObtenerSeccionIdentificacionCliente(ID_EMPRESA, contadorSeccion, _datos); html_completo += seccionIdentificacionCliente; html_completo += "<br>"; //ok String seccionControlModificaciones = ObtenerSeccionControlModificaciones(ID_EMPRESA, 0, _datos); html_completo += seccionControlModificaciones; html_completo += "<br>"; contadorSeccion += 1; //ok String seccionGestionComercial = ObtenerSeccionGestionComercial(ID_EMPRESA, contadorSeccion, _datos); html_completo += seccionGestionComercial; html_completo += "<br>"; contadorSeccion += 1; String seccionProcesoSeleccion = ObtenerSeccionProcesoSeleccion(ID_EMPRESA, contadorSeccion, _datos); html_completo += seccionProcesoSeleccion; html_completo += "<br>"; contadorSeccion += 1; String seccionContratacion = ObtenerSeccionContratacion(ID_EMPRESA, contadorSeccion, _datos); html_completo += seccionContratacion; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 40, 40, 110, 40); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header // ojojojojojojo PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); // ojojojojojojo PageEventHandler.fechaApartirDe = fechaAPartirDe; PageEventHandler.versionManual = versionManual; PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "manualServicio"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_completo); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// HECHO POR CESAR PULIDO /// EL DIA 18 DE DICIEMBRE DE 2012 /// PARA GENERAR LA REFERENCIA /// </summary> /// <returns></returns> public byte[] GenerarPDFReferencia(Decimal ID_REFERENCIA, Decimal ID_SOLICITUD) { tools _tools = new tools(); String html_encabezado = "<html>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; radicacionHojasDeVida _radicacionHojasDeVida = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSolicitud = _radicacionHojasDeVida.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaSolicitud = tablaSolicitud.Rows[0]; referencia _referencia = new referencia(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaReferencia = _referencia.ObtenerPorIdReferencia(ID_REFERENCIA); DataRow filaReferencia = tablaReferencia.Rows[0]; String NOMBRE_CANDIDATO = filaSolicitud["NOMBRES"].ToString().Trim() + " " + filaSolicitud["APELLIDOS"].ToString().Trim(); String NUM_DOC_IDENTIDAD_CANDIDATO = filaSolicitud["NUM_DOC_IDENTIDAD"].ToString().Trim(); String EMPRESA_DONDE_TRABAJO_CANDIDATO = filaReferencia["EMPRESA_TRABAJO"].ToString().Trim(); String TELEFONO_EMPRESA = filaReferencia["NUM_TELEFONO"].ToString().Trim(); String EMPRESA_TEMPORAL = filaReferencia["EMPRESA_TEMPORAL"].ToString().Trim(); String NUM_TELEFONO_TEMPORAL = filaReferencia["NUM_TELEFONO_TEMPOAL"].ToString().Trim(); String TIPO_CONTRATO = filaReferencia["TIPO_CONTRATO"].ToString().Trim(); String FECHA_INGRESO_CANDIDATO = ""; if (DBNull.Value.Equals(filaReferencia["FECHA_INGRESO"]) == false) { FECHA_INGRESO_CANDIDATO = Convert.ToDateTime(filaReferencia["FECHA_INGRESO"]).ToShortDateString(); } String FECHA_RETIRO_CANDIDATO = ""; if (DBNull.Value.Equals(filaReferencia["FECHA_RETIRO"]) == false) { FECHA_RETIRO_CANDIDATO = Convert.ToDateTime(filaReferencia["FECHA_RETIRO"]).ToShortDateString(); } String ULTIMO_CARGO_CANDIDATO = filaReferencia["ULTIMO_CARGO"].ToString().Trim(); String NOMBRE_INFORMANTE = filaReferencia["NOMBRE_INFORMANTE"].ToString().Trim(); String CARGO_INFORMANTE = filaReferencia["CARGO_INFORMANTE"].ToString().Trim(); String NOMBRE_JEFE = filaReferencia["NOMBRE_JEFE"].ToString().Trim(); String CARGO_JEFE = filaReferencia["CARGO_JEFE"].ToString().Trim(); String ULTIMO_SALARIO_CANDIDATO = "Desconocido."; try { ULTIMO_SALARIO_CANDIDATO = Convert.ToDecimal(filaReferencia["ULTIMO_SALARIO"]).ToString(); } catch { ULTIMO_SALARIO_CANDIDATO = "Desconocido."; } String COMISIONES = filaReferencia["COMISIONES"].ToString().Trim(); String BONOS = filaReferencia["BONOS"].ToString().Trim(); String MOTIVO_RETIRO = filaReferencia["MOTIVO_RETIRO"].ToString().Trim(); String USUARIO_REFERENCIADOR = Session["USU_LOG"].ToString(); String NOMBRE_REFERENCIADOR = "Desconocido."; if (DBNull.Value.Equals(filaReferencia["USU_MOD"]) == false) { USUARIO_REFERENCIADOR = filaReferencia["USU_MOD"].ToString().Trim(); } else { USUARIO_REFERENCIADOR = filaReferencia["USU_CRE"].ToString().Trim(); } String CUALIDADES_CALIFICACION = filaReferencia["CUALIDADES_CALIFICACION"].ToString().Trim(); usuario _usuario = new usuario(Session["idEmpresa"].ToString()); DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(USUARIO_REFERENCIADOR); DataRow filaUsuario = tablaUsuario.Rows[0]; if (filaUsuario["USU_TIPO"].ToString().ToUpper() == "PLANTA") { NOMBRE_REFERENCIADOR = filaUsuario["NOMBRES"].ToString().Trim() + " " + filaUsuario["APELLIDOS"].ToString().Trim(); } else { NOMBRE_REFERENCIADOR = filaUsuario["NOMBRES_EXTERNO"].ToString().Trim() + " " + filaUsuario["APELLIDOS_EXTERNO"].ToString().Trim(); } //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\referencia.htm")); String html_formato_referencia = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); html_formato_referencia = html_formato_referencia.Replace("[NOMBRE_CANDIDATO]", NOMBRE_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[NUM_DOC_IDENTIDAD_CANDIDATO]", NUM_DOC_IDENTIDAD_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[EMPRESA_DONDE_TRABAJO_CANDIDATO]", EMPRESA_DONDE_TRABAJO_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[TELEFONO_EMPRESA]", TELEFONO_EMPRESA); html_formato_referencia = html_formato_referencia.Replace("[EMPRESA_TEMPORAL]", EMPRESA_TEMPORAL); html_formato_referencia = html_formato_referencia.Replace("[TELEFONO_TEMPORAL]", NUM_TELEFONO_TEMPORAL); if (TIPO_CONTRATO == "OBRA O LABOR") { html_formato_referencia = html_formato_referencia.Replace("[OBRA_LABOR]", " X "); html_formato_referencia = html_formato_referencia.Replace("[FIJO]", "___"); html_formato_referencia = html_formato_referencia.Replace("[INDEFINIDO]", "___"); } else { if (TIPO_CONTRATO == "FIJO") { html_formato_referencia = html_formato_referencia.Replace("[OBRA_LABOR]", "___"); html_formato_referencia = html_formato_referencia.Replace("[FIJO]", " X "); html_formato_referencia = html_formato_referencia.Replace("[INDEFINIDO]", "___"); } else { if (TIPO_CONTRATO == "INDEFINIDO") { html_formato_referencia = html_formato_referencia.Replace("[OBRA_LABOR]", "___"); html_formato_referencia = html_formato_referencia.Replace("[FIJO]", "___"); html_formato_referencia = html_formato_referencia.Replace("[INDEFINIDO]", " X "); } else { html_formato_referencia = html_formato_referencia.Replace("[OBRA_LABOR]", "___"); html_formato_referencia = html_formato_referencia.Replace("[FIJO]", "___"); html_formato_referencia = html_formato_referencia.Replace("[INDEFINIDO]", "___"); } } } html_formato_referencia = html_formato_referencia.Replace("[FECHA_INGRESO_CANDIDATO]", FECHA_INGRESO_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[FECHA_RETIRO_CANDIDATO]", FECHA_RETIRO_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[ULTIMO_CARGO_CANDIDATO]", ULTIMO_CARGO_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[NOMBRE_INFORMANTE]", NOMBRE_INFORMANTE); html_formato_referencia = html_formato_referencia.Replace("[CARGO_INFORMANTE]", CARGO_INFORMANTE); html_formato_referencia = html_formato_referencia.Replace("[NOMBRE_JEFE]", NOMBRE_JEFE); html_formato_referencia = html_formato_referencia.Replace("[CARGO_JEFE]", CARGO_JEFE); html_formato_referencia = html_formato_referencia.Replace("[ULTIMO_SALARIO_CANDIDATO]", ULTIMO_SALARIO_CANDIDATO); html_formato_referencia = html_formato_referencia.Replace("[COMISIONES]", COMISIONES); html_formato_referencia = html_formato_referencia.Replace("[BONOS]", BONOS); html_formato_referencia = html_formato_referencia.Replace("[MOTIVO_RETIRO]", MOTIVO_RETIRO); html_formato_referencia = html_formato_referencia.Replace("[NOMBRE_REFERENCIADOR]", NOMBRE_REFERENCIADOR); if (DBNull.Value.Equals(filaReferencia["FCH_MOD"]) == false) { html_formato_referencia = html_formato_referencia.Replace("[FECHA_REFERECIA]", Convert.ToDateTime(filaReferencia["FCH_MOD"]).ToShortDateString()); } else { html_formato_referencia = html_formato_referencia.Replace("[FECHA_REFERECIA]", Convert.ToDateTime(filaReferencia["FCH_CRE"]).ToShortDateString()); } //ya esta la informacion de la referecia basica ahora le adicionadmos al informe los datos de las preguntas DataTable tablaPreguntasRespuestas = _referencia.ObtenerPreguntasRespuestasReferencia(ID_REFERENCIA); if (tablaPreguntasRespuestas.Rows.Count > 0) { int contadorPreguntas = 0; //recorrido por las preguntas String html_tabla_preguntas = ""; html_tabla_preguntas += "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\">"; html_tabla_preguntas += "<tr>"; html_tabla_preguntas += "<td width=\"15%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "#"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "CUESTIONARIO"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "RESPUESTA"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "</tr>"; for (int i = 0; i < tablaPreguntasRespuestas.Rows.Count; i++) { DataRow filaPregunta = tablaPreguntasRespuestas.Rows[i]; contadorPreguntas += 1; String textoPregunta = filaPregunta["CONTENIDO"].ToString().Trim(); String textoRespuesta = filaPregunta["RESPUESTA"].ToString().Trim(); html_tabla_preguntas += "<tr>"; html_tabla_preguntas += "<td width=\"15%\" style=\"text-align:center;\">"; html_tabla_preguntas += contadorPreguntas.ToString(); html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td style=\"text-align:justify;\">"; html_tabla_preguntas += textoPregunta; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td style=\"text-align:center;\">"; html_tabla_preguntas += textoRespuesta; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "</tr>"; } html_tabla_preguntas += "</table>"; html_formato_referencia = html_formato_referencia.Replace("[TABLA_CUESTIONARIO]", html_tabla_preguntas); } if (String.IsNullOrEmpty(CUALIDADES_CALIFICACION) == false) { String html_tabla_preguntas = ""; html_tabla_preguntas += "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"80%\" align=\"center\">"; html_tabla_preguntas += "<tr>"; html_tabla_preguntas += "<td width=\"50%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "CUALIDAD"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"12%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "EXCELENTE"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"13%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "BUENO"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"12%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "REGULAR"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"13%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_preguntas += "MALO"; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "</tr>"; String[] cualidadesCalificacionesArray = CUALIDADES_CALIFICACION.Split(';'); foreach(String cualidadCalificacion in cualidadesCalificacionesArray) { String CUALIDAD = cualidadCalificacion.Split(':')[0]; String CALIFICACION = cualidadCalificacion.Split(':')[1]; html_tabla_preguntas += "<tr>"; html_tabla_preguntas += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_preguntas += CUALIDAD; html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"12%\" style=\"text-align:justify;\">"; if(CALIFICACION == "EXCELENTE") { html_tabla_preguntas += "X"; } html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"13%\" style=\"text-align:center;\">"; if (CALIFICACION == "BUENO") { html_tabla_preguntas += "X"; } html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"12%\" style=\"text-align:center;\">"; if (CALIFICACION == "REGULAR") { html_tabla_preguntas += "X"; } html_tabla_preguntas += "</td>"; html_tabla_preguntas += "<td width=\"13%\" style=\"text-align:center;\">"; if (CALIFICACION == "MALO") { html_tabla_preguntas += "X"; } html_tabla_preguntas += "</td>"; html_tabla_preguntas += "</tr>"; } html_tabla_preguntas += "</table>"; html_formato_referencia = html_formato_referencia.Replace("[TABLA_CUALIDADES]", html_tabla_preguntas); } html_formato_referencia += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 50, 50, 80, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "referencia"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_referencia); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
public byte[] GenerarPDFEntrevistaRetiro(Decimal ID_EMPLEADO, Decimal ID_SOLICITUD, Decimal ID_EMPRESA) { String USULOG_ENTREVISTA = Session["USU_LOG"].ToString(); tools _tools = new tools(); // OBTENEMOS INFORMACION DE USUARIO usuario _usuario = new usuario(Session["idEmpresa"].ToString()); DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(USULOG_ENTREVISTA); //ACA VA ES EL DE LA ENTREVISTA DataRow filaUsuario = tablaUsuario.Rows[0]; String NOMBRE_DILIGENCIA = ""; if (filaUsuario["USU_TIPO"].ToString().ToUpper() == "PLANTA") { NOMBRE_DILIGENCIA = filaUsuario["NOMBRES"].ToString().Trim() + " " + filaUsuario["APELLIDOS"].ToString().Trim(); } else { NOMBRE_DILIGENCIA = filaUsuario["NOMBRES_EXTERNO"].ToString().Trim() + " " + filaUsuario["APELLIDOS_EXTERNO"].ToString().Trim(); } //OBTENEMOS LA INFORMACION DEL CLIENTE cliente _cliente = new cliente(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaCliente = _cliente.ObtenerEmpresaConIdEmpresa(ID_EMPRESA); DataRow filaCliente = tablaCliente.Rows[0]; String RAZ_SOCIAL = filaCliente["RAZ_SOCIAL"].ToString().Trim(); String NIT_EMPRESA = filaCliente["NIT_EMPRESA"].ToString().Trim() + "-" + filaCliente["DIG_VER"].ToString().Trim(); String DIR_EMPRESA = filaCliente["DIR_EMP"].ToString().Trim() + " " + filaCliente["ID_CIUDAD_EMPRESA"].ToString().Trim(); //OBTENEMOS LA INFORMACION DE LA SOLICITUD DE INGRESO radicacionHojasDeVida _radicacionHojasDeVida = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSolicitud = _radicacionHojasDeVida.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaSolicitud = tablaSolicitud.Rows[0]; String NOMBRE_ASPIRANTE = filaSolicitud["NOMBRES"].ToString().Trim() + " " + filaSolicitud["APELLIDOS"].ToString().Trim(); String DOC_IDENTIDAD_ASPIRANTE = filaSolicitud["TIP_DOC_IDENTIDAD"].ToString().Trim() + " " + filaSolicitud["NUM_DOC_IDENTIDAD"].ToString().Trim(); int EDAD_ASPIRANTE = 0; if (DBNull.Value.Equals(filaSolicitud["FCH_NACIMIENTO"]) == false) { try { EDAD_ASPIRANTE = _tools.ObtenerEdadDesdeFechaNacimiento(Convert.ToDateTime(filaSolicitud["FCH_NACIMIENTO"])); } catch { EDAD_ASPIRANTE = 0; } } String DIRECCION_ASPIRANTE = filaSolicitud["DIR_ASPIRANTE"].ToString().Trim(); String CIUDAD_ASPIRANTE = filaSolicitud["NOMBRE_CIUDAD"].ToString().Trim(); String SECTOR_ASPIRANTE = filaSolicitud["SECTOR"].ToString(); String TELEFONOS_ASPIRANTE = filaSolicitud["TEL_ASPIRANTE"].ToString(); String EMAIL_ASPIRANTE = filaSolicitud["E_MAIL"].ToString().Trim(); //DATOS DEL MOTIVO DE RETIRO MotivoRotacionRetiro _motivo = new MotivoRotacionRetiro(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaResultadosEntrevista = _motivo.ObtenerResultadosEntrevistaDeRetiroParaEmpleado(ID_EMPLEADO); //CREAMOS LA TABLA DE MOTIVOS DE RETIRO Boolean yaSeTieneObservaciones = false; String OBSERVACIONES = null; String html_tabla_motivos = "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"95%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; html_tabla_motivos += "<tr>"; html_tabla_motivos += "<td width=\"50%\" style=\"text-align:center;\">"; html_tabla_motivos += "CATEGORÍA"; html_tabla_motivos += "</td>"; html_tabla_motivos += "<td width=\"50%\" style=\"text-align:center;\">"; html_tabla_motivos += "MOTIVO"; html_tabla_motivos += "</td>"; html_tabla_motivos += "</tr>"; foreach (DataRow filaMotivo in tablaResultadosEntrevista.Rows) { if (yaSeTieneObservaciones == false) { //SOLO UNA VEZ OBSERVACIONES = filaMotivo["OBSERVACIONES"].ToString().Trim(); yaSeTieneObservaciones = true; } Decimal ID_DETALLE_ROTACION_EMPLEADO = Convert.ToDecimal(filaMotivo["ID_DETALLE_ROTACION_EMPLEADO"]); Decimal ID_MAESTRA_ROTACION_EMPLEADO = Convert.ToDecimal(filaMotivo["ID_MAESTRA_ROTACION_EMPLEADO"]); Decimal ID_ROTACION_EMPRESA = Convert.ToDecimal(filaMotivo["ID_ROTACION_EMPRESA"]); //OBTENEMOS DATOS COMPLEMENTARIOS POR MEDIO DE ID_ROTACION_EMPRESA DataTable tablaInfoComplementaria = _motivo.ObtenerMotivoEmpresaPorId(ID_ROTACION_EMPRESA); DataRow filaInfoComplementaria = tablaInfoComplementaria.Rows[0]; html_tabla_motivos += "<tr>"; html_tabla_motivos += "<td width=\"50%\" style=\"text-align:justify;\">"; html_tabla_motivos += filaInfoComplementaria["TITULO_MAESTRA_ROTACION"]; html_tabla_motivos += "</td>"; html_tabla_motivos += "<td width=\"50%\" style=\"text-align:justify;\">"; html_tabla_motivos += filaInfoComplementaria["TITULO"]; html_tabla_motivos += "</td>"; html_tabla_motivos += "</tr>"; } html_tabla_motivos += "</table>"; /* * Generación del archi de informe de entrevista de retiro * Stream con el contenido del pdf. */ String html_encabezado = "<html>"; html_encabezado += "<head>"; html_encabezado += "</head>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\entrevista_retiro.htm")); String html_formato_entrevista = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); html_formato_entrevista = html_formato_entrevista.Replace("[RAZ_SOCIAL]", RAZ_SOCIAL); html_formato_entrevista = html_formato_entrevista.Replace("[NIT_EMPRESA]", NIT_EMPRESA); html_formato_entrevista = html_formato_entrevista.Replace("[DIR_EMPRESA]", DIR_EMPRESA); html_formato_entrevista = html_formato_entrevista.Replace("[NOMBRE_ASPIRANTE]", NOMBRE_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[DOC_IDENTIDAD_ASPIRANTE]", DOC_IDENTIDAD_ASPIRANTE); if (EDAD_ASPIRANTE > 0) { html_formato_entrevista = html_formato_entrevista.Replace("[EDAD_ASPIRANTE]", EDAD_ASPIRANTE.ToString() + " Años."); } else { html_formato_entrevista = html_formato_entrevista.Replace("[EDAD_ASPIRANTE]", "Desconocida."); } html_formato_entrevista = html_formato_entrevista.Replace("[DIRECCION_ASPIRANTE]", DIRECCION_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[CIUDAD_ASPIRANTE]", CIUDAD_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[SECTOR_ASPIRANTE]", SECTOR_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[TELEFONOS_ASPIRANTE]", TELEFONOS_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[EMAIL_ASPIRANTE]", EMAIL_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_MOTIVOS_RETIRO]", html_tabla_motivos); html_formato_entrevista = html_formato_entrevista.Replace("[OBSERVACIONES]", OBSERVACIONES); html_formato_entrevista = html_formato_entrevista.Replace("[NOMBRE_DILIGENCIA]", NOMBRE_DILIGENCIA); html_formato_entrevista += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 50, 50, 80, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "entrevista_retiro"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_entrevista); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// HECHO POR CESAR PULIDO /// EL DIA 19 DE DICIEMBRE DE 2012 /// PARA OBTENER LOS ARCHIVOS DE LOS AUTOS DE RECOMENDACION /// </summary> /// <returns></returns> public byte[] GenerarPDFExamenes(Decimal ID_CONTRATO, Decimal ID_SOLICITUD, Decimal ID_REQUERIMIENTO) { Boolean hayAutos = false; String armadoDeAutos = ""; ordenExamenes _ordenes = new ordenExamenes(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaOrdenes = _ordenes.ObtenerConRegOrdenExamenPorSolicitud(Convert.ToInt32(ID_REQUERIMIENTO), Convert.ToInt32(ID_SOLICITUD)); foreach (DataRow filaExamenes in tablaOrdenes.Rows) { //OBSERVACIONES ES EL CAMPO DONDE ESTA ALMACENADO EL AUTO DE RECOMENDACION SI EXISE if (!(String.IsNullOrEmpty(filaExamenes["OBSERVACIONES"].ToString().Trim()))) { if (hayAutos == false) { armadoDeAutos = filaExamenes["OBSERVACIONES"].ToString().Trim(); } else { armadoDeAutos += "; " + filaExamenes["OBSERVACIONES"].ToString().Trim(); } hayAutos = true; } } if (hayAutos) { /* ---------------TAGS ENCONTRADOS EN AUTOS_RECOMENDACION------------------- [FECHA_AUTO] = FECHA DE LA CABECERA DE LA APERTURA DE CUENTA [NOMBRE_TRABAJADOR] = NOMBRE DEL BANCO [TELEFONO_TRABAJADOR] = TELEFONO DEL TRABAJADOR [TIPO_DOCUMENTO_IDENTIDAD] = tipo de documento del trabajador [NUMERO_DOCUMENTO_IDENTIDAD] = numero del documento de identidad del trabajador [AUTOS_RECOMENDACION] = nombre analista que firma [NOMBRE_EMPLEADOR] = cartgo del que firma */ radicacionHojasDeVida _sol = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSol = _sol.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaSol = tablaSol.Rows[0]; //DATOS DEL INFORME DateTime FECHA_AUTO = DateTime.Now; String NOMBRE_TRABAJADOR = filaSol["NOMBRES"].ToString().Trim() + " " + filaSol["APELLIDOS"].ToString().Trim(); String TELEFONO_TRABAJADOR = filaSol["TEL_ASPIRANTE"].ToString().Trim(); String TIPO_DOCUMENTO_IDENTIDAD = filaSol["TIP_DOC_IDENTIDAD"].ToString().Trim(); String NUMERO_DOCUMENTO_IDENTIDAD = filaSol["NUM_DOC_IDENTIDAD"].ToString().Trim(); String AUTOS_RECOMENDACION = armadoDeAutos; String NOMBRE_EMPLEADOR = null; if (Session["idEmpresa"].ToString() == "1") { NOMBRE_EMPLEADOR = tabla.VAR_NOMBRE_SERTEMPO; } else { NOMBRE_EMPLEADOR = tabla.VAR_NOMBRE_EYS; } //En esta variable cargamos el documento plantilla StreamReader archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\autos_recomendacion.htm")); String html = archivo.ReadToEnd(); archivo.Dispose(); archivo.Close(); html = html.Replace("[FECHA_AUTO]", FECHA_AUTO.ToLongDateString()); html = html.Replace("[NOMBRE_TRABAJADOR]", NOMBRE_TRABAJADOR); html = html.Replace("[TELEFONO_TRABAJADOR]", TELEFONO_TRABAJADOR); html = html.Replace("[TIPO_DOCUMENTO_IDENTIDAD]", TIPO_DOCUMENTO_IDENTIDAD); html = html.Replace("[NUMERO_DOCUMENTO_IDENTIDAD]", NUMERO_DOCUMENTO_IDENTIDAD); html = html.Replace("[AUTOS_RECOMENDACION]", AUTOS_RECOMENDACION); html = html.Replace("[NOMBRE_EMPLEADOR]", NOMBRE_EMPLEADOR); html = html.Replace("[DIR_FIRMA_SALUD]", tabla.DIR_IMAGENES_PARA_PDF + "/firma_autos_recomendacion.jpg"); //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(612, 397), 25, 25, 75, 30); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "autos_recomendacion"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } } else { return null; } }
/// <summary> /// HECHO POR CESAR PULIDO /// EL DIA 18 DE DICIMEBRE DE 2012 /// PARA GENERAR LA ENTRVISTA CON O SIN COMPETENCIAS /// </summary> /// <returns></returns> public byte[] GenerarPDFEntrevista(Decimal ID_SOLICITUD, Decimal ID_PERFIL) { //ok tools _tools = new tools(); radicacionHojasDeVida _radicacionHojasDeVida = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSolicitud = _radicacionHojasDeVida.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaSolicitud = tablaSolicitud.Rows[0]; String NOMBRE_ASPIRANTE = filaSolicitud["NOMBRES"].ToString().Trim() + " " + filaSolicitud["APELLIDOS"].ToString().Trim(); String DOC_IDENTIDAD_ASPIRANTE = filaSolicitud["TIP_DOC_IDENTIDAD"].ToString().Trim() + " " + filaSolicitud["NUM_DOC_IDENTIDAD"].ToString().Trim(); int EDAD_ASPIRANTE = 0; if (DBNull.Value.Equals(filaSolicitud["FCH_NACIMIENTO"]) == false) { try { EDAD_ASPIRANTE = _tools.ObtenerEdadDesdeFechaNacimiento(Convert.ToDateTime(filaSolicitud["FCH_NACIMIENTO"])); } catch { EDAD_ASPIRANTE = 0; } } String TIPO_VIVIENDA_ASPIRANTE = "Desconocida"; if(DBNull.Value.Equals(filaSolicitud["TIPO_VIVIENDA"]) == false) { TIPO_VIVIENDA_ASPIRANTE = filaSolicitud["TIPO_VIVIENDA"].ToString().Trim(); } String CIUDAD_ASPIRANTE = "Desconocida"; if (DBNull.Value.Equals(filaSolicitud["NOMBRE_CIUDAD"]) == false) { CIUDAD_ASPIRANTE = filaSolicitud["NOMBRE_CIUDAD"].ToString().Trim(); } String DIRECCION_ASPIRANTE = filaSolicitud["DIR_ASPIRANTE"].ToString().Trim(); String SECTOR_ASPIRANTE = filaSolicitud["SECTOR"].ToString().Trim(); String ESTRATO_ASPIRANTE = "Desconocido"; if (DBNull.Value.Equals(filaSolicitud["ESTRATO"]) == false) { ESTRATO_ASPIRANTE = filaSolicitud["ESTRATO"].ToString().Trim(); } String TELEFONOS_ASPIRANTE = filaSolicitud["TEL_ASPIRANTE"].ToString(); String ASPIRACION_SALARIAL_ASPIRANTE; try { ASPIRACION_SALARIAL_ASPIRANTE = Convert.ToInt32(filaSolicitud["ASPIRACION_SALARIAL"]).ToString(); } catch { ASPIRACION_SALARIAL_ASPIRANTE = "Desconocido."; } String ESTADO_CIVIL = "Desconocido"; if (DBNull.Value.Equals(filaSolicitud["ESTADO_CIVIL"]) == false) { ESTADO_CIVIL = filaSolicitud["ESTADO_CIVIL"].ToString().Trim(); } String EMAIL_ASPIRANTE = filaSolicitud["E_MAIL"].ToString().Trim(); //FEMENINO, MASCULINO String SEXO = "Desconocido."; String LIBRETA_MILITAR = "Desconocida."; if (DBNull.Value.Equals(filaSolicitud["SEXO"]) == false) { if (filaSolicitud["SEXO"].ToString().ToUpper() == "F") { SEXO = "Femenino"; LIBRETA_MILITAR = "No Aplica"; } else { if (filaSolicitud["SEXO"].ToString().ToUpper() == "M") { SEXO = "Masculino"; LIBRETA_MILITAR = filaSolicitud["LIB_MILITAR"].ToString(); } } } //cargo al que aspira el candidato (cargo generico) String CARGO_APLICA = "Desconocido"; Decimal ID_OCUPACION = 0; perfil _perfil = new perfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaPerfil = new DataTable(); Decimal ID_ASSESMENT_CENTER = 0; if (ID_PERFIL <= 0) { CARGO_APLICA = "Entrevista por Producción."; ID_ASSESMENT_CENTER = 0; } else { tablaPerfil = _perfil.ObtenerPorRegistro(ID_PERFIL); if (tablaPerfil.Rows.Count <= 0) { CARGO_APLICA = "Desconocido."; ID_ASSESMENT_CENTER = 0; } else { DataRow filaPerfil = tablaPerfil.Rows[0]; try { ID_OCUPACION = Convert.ToDecimal(filaPerfil["ID_OCUPACION"]); } catch { ID_OCUPACION = 0; } if (ID_OCUPACION > 0) { cargo _cargo = new cargo(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaOcupacionAspira = _cargo.ObtenerOcupacionPorIdOcupacion(ID_OCUPACION); if (tablaOcupacionAspira.Rows.Count > 0) { DataRow filaOcupacionAspira = tablaOcupacionAspira.Rows[0]; CARGO_APLICA = filaOcupacionAspira["NOM_OCUPACION"].ToString().Trim(); } } //DETERMINAMOS SI SE TIENE UN ID_ASSESMENT_CENTER ASOCIADO AL PERFIL if(filaPerfil["TIPO_ENTREVISTA"].ToString().Trim() == "A") { try { ID_ASSESMENT_CENTER = Convert.ToDecimal(filaPerfil["ID_ASSESMENT_CENTAR"]); } catch { ID_ASSESMENT_CENTER = 0; } } else { ID_ASSESMENT_CENTER = 0; } } } //si la entrevista basica existe ya hojasVida _hojasVida = new hojasVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaEntrevista = _hojasVida.ObtenerSelRegEntrevistasPorIdSolicitud(ID_SOLICITUD); String FECHA_ENTREVISTA = "Desconocida."; String COMPOSICION_FAMILIAR_ASPIRANTE = "Desconocida."; String INFO_ACADEMICA_ASPIRANTE = "Desconocida."; String EXPERIENCIA_LAB_ASPIRANTE = "Desconocida."; String CONCEPTO_GENERAL = "Desconodido."; String USUARIO_ENTREVISTADOR = Session["USU_LOG"].ToString(); Decimal ID_ENTREVISTA = 0; if (tablaEntrevista.Rows.Count > 0) { DataRow filaEntrevista = tablaEntrevista.Rows[0]; ID_ENTREVISTA = Convert.ToDecimal(filaEntrevista["REGISTRO"]); try { FECHA_ENTREVISTA = Convert.ToDateTime(filaEntrevista["FCH_ENTREVISTA"]).ToShortDateString(); } catch { FECHA_ENTREVISTA = "Desconocida."; } COMPOSICION_FAMILIAR_ASPIRANTE = filaEntrevista["COM_C_FAM"].ToString().Trim(); INFO_ACADEMICA_ASPIRANTE = filaEntrevista["COM_C_ACA"].ToString().Trim(); EXPERIENCIA_LAB_ASPIRANTE = filaEntrevista["COM_F_LAB"].ToString().Trim(); CONCEPTO_GENERAL = filaEntrevista["COM_C_GEN"].ToString().Trim(); if (DBNull.Value.Equals(filaEntrevista["USU_MOD"]) == false) { USUARIO_ENTREVISTADOR = filaEntrevista["USU_MOD"].ToString().Trim(); } else { USUARIO_ENTREVISTADOR = filaEntrevista["USU_CRE"].ToString().Trim(); } } String NIVEL_ESCOLARIDAD = "Desconocido"; if (DBNull.Value.Equals(filaSolicitud["NIVEL_ESCOLARIDAD"]) == false) { if (filaSolicitud["NIVEL_ESCOLARIDAD"].ToString().Trim() == "NO REQUERIDO") { NIVEL_ESCOLARIDAD = "NO APLICA"; } else { NIVEL_ESCOLARIDAD = filaSolicitud["NIVEL_ESCOLARIDAD"].ToString().Trim(); } } String PROFESION_ASPIRANTE = "Desconocida"; if (DBNull.Value.Equals(filaSolicitud["ID_NUCLEO_FORMACION"]) == false) { PROFESION_ASPIRANTE = filaSolicitud["ID_NUCLEO_FORMACION"].ToString().Trim(); } String ESPECIALIZACION_ASPIRANTE = "Desconocida"; if (DBNull.Value.Equals(filaSolicitud["AREA_INTERES"]) == false) { ESPECIALIZACION_ASPIRANTE = filaSolicitud["AREA_INTERES"].ToString().Trim().ToUpper(); } String CABEZA_FAMILIA = "Desconocido"; if (DBNull.Value.Equals(filaSolicitud["C_FMLIA"]) == false) { if (filaSolicitud["C_FMLIA"].ToString().Trim() == "S") { CABEZA_FAMILIA = "SI"; } else { CABEZA_FAMILIA = "NO"; } } String NUM_HIJOS = "Desconocido"; if (DBNull.Value.Equals(filaSolicitud["NRO_HIJOS"]) == false) { NUM_HIJOS = filaSolicitud["NRO_HIJOS"].ToString().Trim(); } /* * Generación del archi de informe de selección * Stream con el contenido del pdf. */ String html_encabezado = "<html>"; html_encabezado += "<head>"; html_encabezado += "</head>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //para el concepto general en entrevista o resultado de competencias. String html_concepto = "<div style=\"text-align: left; margin: 0 0 0 20px; text-decoration: underline; font-weight: bold;\">"; html_concepto += "CONCEPTO DEL ENTREVISTADOR"; html_concepto += "</div>"; html_concepto += "<br />"; html_concepto += "<div style=\"text-align: justify;\">"; html_concepto += "[CONCEPTO_GENERAL]"; html_concepto += "</div>"; //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\entrevista.htm")); String html_formato_entrevista = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); // ----------------------------------- html_formato_entrevista = html_formato_entrevista.Replace("[CARGO_APLICA]", CARGO_APLICA); html_formato_entrevista = html_formato_entrevista.Replace("[FECHA_ENTREVISTA]", FECHA_ENTREVISTA); // ----------------------------------- // ----------------------------------- html_formato_entrevista = html_formato_entrevista.Replace("[NOMBRE_ASPIRANTE]", NOMBRE_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[DOC_IDENTIDAD_ASPIRANTE]", DOC_IDENTIDAD_ASPIRANTE); if (EDAD_ASPIRANTE > 0) { html_formato_entrevista = html_formato_entrevista.Replace("[EDAD_ASPIRANTE]", EDAD_ASPIRANTE.ToString() + " Años."); } else { html_formato_entrevista = html_formato_entrevista.Replace("[EDAD_ASPIRANTE]", "Desconocida."); } html_formato_entrevista = html_formato_entrevista.Replace("[DIRECCION_ASPIRANTE]", DIRECCION_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[TIPO_VIVIENDA_ASPIRANTE]", TIPO_VIVIENDA_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[CIUDAD_ASPIRANTE]", CIUDAD_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[SECTOR_ASPIRANTE]", SECTOR_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[ESTRATO_ASPIRANTE]", ESTRATO_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[TELEFONOS_ASPIRANTE]", TELEFONOS_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[ASPIRACION_SALARIAL_ASPIRANTE]", ASPIRACION_SALARIAL_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[ESTADO_CIVIL_ASPIRANTE]", ESTADO_CIVIL); html_formato_entrevista = html_formato_entrevista.Replace("[EMAIL_ASPIRANTE]", EMAIL_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[LIBRETA_MILITAR]", LIBRETA_MILITAR); // ----------------------------------- // ----------------------------------- html_formato_entrevista = html_formato_entrevista.Replace("[COMPOSICION_FAMILIAR_ASPIRANTE]", COMPOSICION_FAMILIAR_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[INFO_ACADEMICA_ASPIRANTE]", INFO_ACADEMICA_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[EXPERIENCIA_LAB_ASPIRANTE]", EXPERIENCIA_LAB_ASPIRANTE); // ----------------------------------- // ----------------------------------- html_formato_entrevista = html_formato_entrevista.Replace("[NIVEL_ESCOLARIDAD]", NIVEL_ESCOLARIDAD); html_formato_entrevista = html_formato_entrevista.Replace("[PROFESION_ASPIRANTE]", PROFESION_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[ESPECIALIZACION_ASPIRANTE]", ESPECIALIZACION_ASPIRANTE); html_formato_entrevista = html_formato_entrevista.Replace("[CABEZA_FAMILIA]", CABEZA_FAMILIA); html_formato_entrevista = html_formato_entrevista.Replace("[NUM_HIJOS]", NUM_HIJOS); // ----------------------------------- //TABLA DE COMPOSICION FAMILIAR String html_tabla_composicion_familiar = "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; html_tabla_composicion_familiar += "<tr>"; html_tabla_composicion_familiar += "<td width=\"14%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_composicion_familiar += "PARENTESCO"; html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"25%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_composicion_familiar += "NOMBRES Y APELLIDOS"; html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"10%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_composicion_familiar += "EDAD"; html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"20%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_composicion_familiar += "¿A QUÉ SE DEDICA?"; html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"19%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_composicion_familiar += "VIVE EN"; html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"12%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_composicion_familiar += "VIVE CON EL CANDIDATO"; html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "</tr>"; DataTable tablainfofamiliar = _hojasVida.ObtenerSelRegComposicionFamiliar(ID_ENTREVISTA); foreach(DataRow filaComposicion in tablainfofamiliar.Rows) { html_tabla_composicion_familiar += "<tr>"; html_tabla_composicion_familiar += "<td width=\"14%\" style=\"text-align:left;\">"; html_tabla_composicion_familiar += filaComposicion["ID_TIPO_FAMILIAR"].ToString().Trim(); html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"25%\" style=\"text-align:left;\">"; html_tabla_composicion_familiar += filaComposicion["NOMBRES"].ToString().Trim() + " " + filaComposicion["APELLIDOS"].ToString().Trim(); html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"10%\" style=\"text-align:center;\">"; try { html_tabla_composicion_familiar += _tools.ObtenerEdadDesdeFechaNacimiento(Convert.ToDateTime(filaComposicion["FECHA_NACIMIENTO"])); } catch { html_tabla_composicion_familiar += "Desconocida"; } html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"20%\" style=\"text-align:left;\">"; html_tabla_composicion_familiar += filaComposicion["PROFESION"].ToString().Trim(); html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"19%\" style=\"text-align:left;\">"; if (filaComposicion["ID_CIUDAD"].ToString().Trim() == "EXTRA") { html_tabla_composicion_familiar += "Extranjero"; } else { html_tabla_composicion_familiar += filaComposicion["NOMBRE_CIUDAD"].ToString().Trim(); } html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "<td width=\"12%\" style=\"text-align:center;\">"; if(filaComposicion["VIVE_CON_EL"].ToString().Trim().ToUpper() == "TRUE") { html_tabla_composicion_familiar += "SI"; } else { html_tabla_composicion_familiar += "NO"; } html_tabla_composicion_familiar += "</td>"; html_tabla_composicion_familiar += "</tr>"; } html_tabla_composicion_familiar += "</table>"; html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_COMPOSICION_FAMILIAR]", html_tabla_composicion_familiar); //EDUCACION FORMAL String html_tabla_educacion_formal = "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; html_tabla_educacion_formal += "<tr>"; html_tabla_educacion_formal += "<td width=\"40%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_educacion_formal += "Grado de Instrucción alcanzado:<\br>Especialización, Profesional, Bachiller."; html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "<td width=\"25%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_educacion_formal += "Institución"; html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "<td width=\"12%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_educacion_formal += "Año"; html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "<td width=\"23%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_educacion_formal += "Observaciones"; html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "</tr>"; DataTable tablaEducacionFormal = _hojasVida.ObtenerSelRegInformacionAcademica(ID_ENTREVISTA, "FORMAL"); foreach (DataRow filaEducacionFormal in tablaEducacionFormal.Rows) { html_tabla_educacion_formal += "<tr>"; html_tabla_educacion_formal += "<td width=\"40%\" style=\"text-align:left;\">"; html_tabla_educacion_formal += filaEducacionFormal["NOMBRE_NIVEL_ACADEMICO"].ToString().Trim(); html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "<td width=\"25%\" style=\"text-align:left;\">"; html_tabla_educacion_formal += filaEducacionFormal["INSTITUCION"].ToString().Trim(); html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "<td width=\"12%\" style=\"text-align:center;\">"; html_tabla_educacion_formal += filaEducacionFormal["ANNO"].ToString().Trim(); html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "<td width=\"23%\" style=\"text-align:justify;\">"; html_tabla_educacion_formal += filaEducacionFormal["OBSERVACIONES"].ToString().Trim(); html_tabla_educacion_formal += "</td>"; html_tabla_educacion_formal += "</tr>"; } html_tabla_educacion_formal += "</table>"; html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_EDUCACION_FORMAL]", html_tabla_educacion_formal); //EDUCACION NO FORMAL String html_tabla_educacion_no_formal = "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; html_tabla_educacion_no_formal += "<tr>"; html_tabla_educacion_no_formal += "<td width=\"40%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_educacion_no_formal += "Cursos libres - Diplomados"; html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "<td width=\"25%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_educacion_no_formal += "Institución"; html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "<td width=\"12%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_educacion_no_formal += "Duración"; html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "<td width=\"23%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_educacion_no_formal += "Observaciones"; html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "</tr>"; DataTable tablaEducacionNoFormal = _hojasVida.ObtenerSelRegInformacionAcademica(ID_ENTREVISTA, "NO FORMAL"); foreach (DataRow filaEducacionNoFormal in tablaEducacionNoFormal.Rows) { html_tabla_educacion_no_formal += "<tr>"; html_tabla_educacion_no_formal += "<td width=\"40%\" style=\"text-align:left;\">"; html_tabla_educacion_no_formal += filaEducacionNoFormal["CURSO"].ToString().Trim(); html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "<td width=\"25%\" style=\"text-align:left;\">"; html_tabla_educacion_no_formal += filaEducacionNoFormal["INSTITUCION"].ToString().Trim(); html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "<td width=\"12%\" style=\"text-align:center;\">"; html_tabla_educacion_no_formal += filaEducacionNoFormal["DURACION"].ToString().Trim() + " " + filaEducacionNoFormal["UNIDAD_DURACION"].ToString().Trim(); html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "<td width=\"23%\" style=\"text-align:justify;\">"; html_tabla_educacion_no_formal += filaEducacionNoFormal["OBSERVACIONES"].ToString().Trim(); html_tabla_educacion_no_formal += "</td>"; html_tabla_educacion_no_formal += "</tr>"; } html_tabla_educacion_no_formal += "</table>"; html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_EDUCACION_NO_FORMAL]", html_tabla_educacion_no_formal); //EXPERIENCIA LABORAL String html_tabla_experiencia_laboral = ""; DataTable tablaExperiencia = _hojasVida.ObtenerSelRegExperienciaLaboral(ID_ENTREVISTA); Int32 contador = 1; foreach (DataRow filaExperienciaLaboral in tablaExperiencia.Rows) { if (contador == 1) { html_tabla_experiencia_laboral += "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; } else { html_tabla_experiencia_laboral += "<br><table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; } html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += contador.ToString() + ". EMPRESA:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += filaExperienciaLaboral["EMPRESA"].ToString().Trim(); html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "CARGO DESEMPEÑADO:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += filaExperienciaLaboral["CARGO"].ToString().Trim(); html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "FUNCIONES REALIZADAS:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += filaExperienciaLaboral["FUNCIONES"].ToString().Trim(); html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "FECHA INGRESO:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += Convert.ToDateTime(filaExperienciaLaboral["FECHA_INGRESO"]).ToShortDateString(); html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "FECHA RETIRO:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; try { html_tabla_experiencia_laboral += Convert.ToDateTime(filaExperienciaLaboral["FECHA_RETIRO"]).ToShortDateString(); } catch { html_tabla_experiencia_laboral += ""; } html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "TIEMPO TRABAJADO:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; Boolean correcto = true; DateTime fechaIngreso; DateTime fechaRetiro; try { fechaIngreso = Convert.ToDateTime(filaExperienciaLaboral["FECHA_INGRESO"]); } catch { correcto = false; fechaIngreso = new DateTime(); } if (correcto == true) { Boolean conContratoVigente = true; try { fechaRetiro = Convert.ToDateTime(filaExperienciaLaboral["FECHA_RETIRO"]); conContratoVigente = false; } catch { conContratoVigente = true; fechaRetiro = Convert.ToDateTime(DateTime.Now.ToShortDateString()); } if (fechaRetiro < fechaIngreso) { html_tabla_experiencia_laboral += "Error en fechas."; } else { if (conContratoVigente == true) { html_tabla_experiencia_laboral += "Lleva trabajando: " + _tools.DiferenciaFechas(fechaRetiro, fechaIngreso); } else { html_tabla_experiencia_laboral += "Trabajó: " + _tools.DiferenciaFechas(fechaRetiro, fechaIngreso); } } } else { html_tabla_experiencia_laboral += "Desconocido."; } html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "MOTIVO_RETIRO:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += filaExperienciaLaboral["MOTIVO_RETIRO"].ToString().Trim(); html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "<tr>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += "ULTIMO SALARIO:"; html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "<td width=\"50%\" style=\"text-align:left;\">"; html_tabla_experiencia_laboral += String.Format("$ {0:N2}", Convert.ToDecimal(filaExperienciaLaboral["ULTIMO_SALARIO"])); html_tabla_experiencia_laboral += "</td>"; html_tabla_experiencia_laboral += "</tr>"; html_tabla_experiencia_laboral += "</table>"; contador += 1; } html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_EXPERIENCIA_LABORAL]", html_tabla_experiencia_laboral); //ahora: si es entrevista por produccion se debe determinar que pruebas se han aplicado al candidato //y mostrarlas en el informe de seleccion //lo mismo con habilidades / competencias pruebaPerfil _pruebaPerfil = new pruebaPerfil(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); FabricaAssesment _fabrica = new FabricaAssesment(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaPruebas = new DataTable(); DataTable tablaAssesmentCenter = new DataTable(); DataTable tablaCompetencias = new DataTable(); String TIPO_ENTREVISTA = String.Empty; if (ID_PERFIL <= 0) { //ES ENTREVISTA POR PRODUCCION tablaPruebas = _pruebaPerfil.ObtenerAplicadasAIdSolicitudConResultados(ID_SOLICITUD); tablaCompetencias = _fabrica.ObtenerAplicacionCompetenciasPorSolicitudIngreso(ID_SOLICITUD); if (tablaCompetencias.Rows.Count <= 0) { TIPO_ENTREVISTA = "B"; } else { TIPO_ENTREVISTA = "A"; } } else { //es entrevista asociada a perfil entonces cargamos lo pertinente a ese perfil tablaPruebas = _pruebaPerfil.ObtenerPorIdPerfilConResultadosIdSolicitud(ID_PERFIL, ID_SOLICITUD); if (ID_ASSESMENT_CENTER > 0) { TIPO_ENTREVISTA = "A"; //se tiene un assesmentcenter associado tablaAssesmentCenter = _fabrica.ObtenerAssesmentCentePorId(ID_ASSESMENT_CENTER); tablaCompetencias = _fabrica.ObtenerCompetenciasAssesmentCenteActivos(ID_ASSESMENT_CENTER, ID_SOLICITUD); } else { TIPO_ENTREVISTA = "B"; } } //AHORA SI SEGUN LOS ObTENIDOS DE LAS TABLAS SE MUESTRA EN EL INFORME. if (tablaPruebas.Rows.Count > 0) { String html_resultados_pruebas; html_resultados_pruebas = "<br />"; html_resultados_pruebas += "<div style=\"text-align: left; margin: 0 0 0 20px; text-decoration: underline; font-weight: bold;\">"; html_resultados_pruebas += "RESULTADO DE PRUEBAS PSICOTÉCNICAS"; html_resultados_pruebas += "</div>"; for (int i = 0; i < tablaPruebas.Rows.Count; i++) { DataRow filaPrueba = tablaPruebas.Rows[i]; String NOM_PRUEBA = filaPrueba["NOM_PRUEBA"].ToString().Trim(); String RESULTADO = filaPrueba["RESULTADOS"].ToString().Trim(); html_resultados_pruebas += "<br />"; html_resultados_pruebas += "<div style=\"text-align: left; margin: 0 0 0 20px; font-weight: bold; font-size:9px;\">"; html_resultados_pruebas += NOM_PRUEBA; html_resultados_pruebas += "</div>"; html_resultados_pruebas += "<div style=\"text-align: justify;\">"; if (String.IsNullOrEmpty(RESULTADO) == false) { html_resultados_pruebas += RESULTADO; } else { html_resultados_pruebas += "Desconocido."; } html_resultados_pruebas += "</div>"; } html_resultados_pruebas += "<br />"; html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_RESULTADO_PRUEBAS]", html_resultados_pruebas); } else { html_formato_entrevista = html_formato_entrevista.Replace("[TABLA_RESULTADO_PRUEBAS]", "<br />"); } //FORMATO DE ASSESMENT CENTER if (TIPO_ENTREVISTA.Contains("A") == true) { String NOMBRE_ASSESMENT = ""; if (tablaAssesmentCenter.Rows.Count > 0) { DataRow filaAssesment = tablaAssesmentCenter.Rows[0]; NOMBRE_ASSESMENT = filaAssesment["NOMBRE_ASSESMENT"].ToString().Trim(); } //En esta variable cargamos el documento plantilla por habilidades archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\formato_evaluacion_assesmentcenter.htm")); String html_formato_assesment_center = archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); String html_tabla_assesment = "<table border=\"1\" cellpadding=\"1\" cellspacing=\"0\" width=\"100%\" align=\"center\" style=\"font-size:8px; line-height:9px;\">"; html_tabla_assesment += "<tr>"; html_tabla_assesment += "<td width=\"25%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_assesment += "COMPETENCIA / HABILIDAD"; html_tabla_assesment += "</td>"; html_tabla_assesment += "<td width=\"35%\" style=\"text-align:center; font-weight: bold;\">"; html_tabla_assesment += "CALIFICACIÓN"; html_tabla_assesment += "</td>"; html_tabla_assesment += "<td width=\"40%\" style=\"text-align:center; font-weight: bold; \">"; html_tabla_assesment += "OBSERVACIONES"; html_tabla_assesment += "</td>"; html_tabla_assesment += "</tr>"; foreach (DataRow filaCalificacionCompetencias in tablaCompetencias.Rows) { html_tabla_assesment += "<tr>"; html_tabla_assesment += "<td width=\"25%\" style=\"text-align:left; \">"; html_tabla_assesment += filaCalificacionCompetencias["COMPETENCIA"].ToString().Trim(); html_tabla_assesment += "</td>"; html_tabla_assesment += DevuelveTdsConCalificacionSegunDataRow(filaCalificacionCompetencias); html_tabla_assesment += "<td width=\"40%\" style=\"text-align:justify; \">"; html_tabla_assesment += filaCalificacionCompetencias["OBSERVACIONES"].ToString().Trim(); html_tabla_assesment += "</td>"; } html_tabla_assesment += "</table>"; html_formato_assesment_center = html_formato_assesment_center.Replace("[NOMBRE_ASSESMENT]", NOMBRE_ASSESMENT); html_formato_assesment_center = html_formato_assesment_center.Replace("[TABLA_DE_ASSESMENT_CENTER]", html_tabla_assesment); html_formato_entrevista = html_formato_entrevista.Replace("[FORMATO_EVALUACION_ASSESMENTCENTER]", html_formato_assesment_center); } else { html_formato_entrevista = html_formato_entrevista.Replace("[FORMATO_EVALUACION_ASSESMENTCENTER]", ""); } // concepto general html_concepto = html_concepto.Replace("[CONCEPTO_GENERAL]", CONCEPTO_GENERAL); // concepto general html_formato_entrevista = html_formato_entrevista.Replace("[CONCEPTO_GENERAL]", html_concepto); // USUARIO QUE HIZO LA ENTREVISTA usuario _usuario = new usuario(Session["idEmpresa"].ToString()); DataTable tablaUsuario = _usuario.ObtenerUsuarioPorUsuLog(USUARIO_ENTREVISTADOR); //ACA VA ES EL DE LA ENTREVISTA DataRow filaUsuario = tablaUsuario.Rows[0]; if (filaUsuario["USU_TIPO"].ToString().ToUpper() == "PLANTA") { html_formato_entrevista = html_formato_entrevista.Replace("[NOMBRE_PSICOLOGO]", filaUsuario["NOMBRES"].ToString().Trim() + " " + filaUsuario["APELLIDOS"].ToString().Trim()); } else { html_formato_entrevista = html_formato_entrevista.Replace("[NOMBRE_PSICOLOGO]", filaUsuario["NOMBRES_EXTERNO"].ToString().Trim() + " " + filaUsuario["APELLIDOS_EXTERNO"].ToString().Trim()); } html_formato_entrevista = html_formato_entrevista.Replace("[CARGO_SICOLOGO]", "Psicólogo de Selección"); html_formato_entrevista += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 50, 50, 80, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "entrevista"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_entrevista); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
/// <summary> /// hecho por cesar pulido /// el dia 9 de diciembre de 2012 /// para obtener el archivo de las clausulas /// </summary> /// <returns></returns> public byte[] GenerarPDFClausulas(Decimal ID_CONTRATO) { //obtenemos la informacion necesaria de las clausulas registroContrato _registroContrato = new registroContrato(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaInfoClausulas = _registroContrato.ObtenerInfoParaImprimirClausulas(ID_CONTRATO); if (tablaInfoClausulas.Rows.Count > 0) { tools _tools = new tools(); //como existen clausulas antes de mostrarlas se debe actualizar el estado de impresion de clausulas DataTable tablaCon = _registroContrato.ObtenerConRegContratosPorRegistro(Convert.ToInt32(ID_CONTRATO)); DataRow fila = tablaCon.Rows[0]; //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\clausulas.htm")); String html_clausula = archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); String html_completo = "<html><body>"; Int32 contadorClausulas = 0; //tenemos que recorrer todas las clausulas e imprimirlas en hojas diferentes pero un mismo documento foreach (DataRow filaClausula in tablaInfoClausulas.Rows) { //como se tiene un clausula entonces al html_compleo le adicionamos una plantilla contenido de clausula if (contadorClausulas == 0) { html_completo = html_clausula; } else { html_completo += "<div>linea para paginacion de pdf</div>"; html_completo += html_clausula; } //despues de haber agregado la plantilla se procede a reemplazar los tags if (Session["idEmpresa"].ToString() == "1") { html_completo = html_completo.Replace("[NOMBRE_EMPRESA]", tabla.VAR_NOMBRE_SERTEMPO); } else { html_completo = html_completo.Replace("[NOMBRE_EMPRESA]", tabla.VAR_NOMBRE_EYS); } html_completo = html_completo.Replace("[NOMBRE_TRABAJADOR]", filaClausula["NOMBRES"].ToString().Trim() + " " + filaClausula["APELLIDOS"].ToString().Trim()); html_completo = html_completo.Replace("[NOMBRE_CLAUSULA]", filaClausula["NOMBRE"].ToString().Trim()); html_completo = html_completo.Replace("[ENCABEZADO_CLAUSULA]", filaClausula["ENCABEZADO"].ToString().Trim()); html_completo = html_completo.Replace("[CONTENIDO_CLAUSULA]", filaClausula["DESCRIPCION"].ToString().Trim()); html_completo = html_completo.Replace("[CIUDAD_FIRMA]", "BOGOTA"); html_completo = html_completo.Replace("[DIAS]", DateTime.Now.Day.ToString()); html_completo = html_completo.Replace("[MES]", _tools.obtenerNombreMes(DateTime.Now.Month)); html_completo = html_completo.Replace("[ANNO]", DateTime.Now.Year.ToString()); contadorClausulas += 1; } html_completo += "</body></html>"; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 40, 40, 80, 40); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "clausula"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_completo); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } } else { return null; } }
private void previsualizar_clausula(Decimal ID_CON_REG_CLAUSULAS_PERFIL) { condicionesContratacion _condicionesContratacion = new condicionesContratacion(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaInfoClausula = _condicionesContratacion.obtenerClausulasPorIdCluasula(ID_CON_REG_CLAUSULAS_PERFIL); DataRow filaInfo = tablaInfoClausula.Rows[0]; StreamReader archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\clausulas.htm")); tools _tools = new tools(); String html_completo = "<html><body>"; html_completo += archivo.ReadToEnd(); html_completo += "</body></html>"; archivo.Dispose(); archivo.Close(); if (Session["idEmpresa"].ToString() == "1") { html_completo = html_completo.Replace("[NOMBRE_EMPRESA]", tabla.VAR_NOMBRE_SERTEMPO); } else { html_completo = html_completo.Replace("[NOMBRE_EMPRESA]", tabla.VAR_NOMBRE_EYS); } html_completo = html_completo.Replace("[NOMBRE_TRABAJADOR]", "NOMBRE DEL TRABAJADOR"); html_completo = html_completo.Replace("[NOMBRE_CLAUSULA]", filaInfo["NOMBRE"].ToString()); html_completo = html_completo.Replace("[ENCABEZADO_CLAUSULA]", filaInfo["ENCABEZADO"].ToString()); html_completo = html_completo.Replace("[CONTENIDO_CLAUSULA]", filaInfo["DESCRIPCION"].ToString()); usuario _usuario = new usuario(Session["idEmpresa"].ToString()); DataTable tablaInfoUsuario = _usuario.ObtenerInicioSesionPorUsuLog(Session["USU_LOG"].ToString()); if (tablaInfoUsuario.Rows.Count <= 0) { html_completo = html_completo.Replace("[CIUDAD_FIRMA]", "Desconocida"); } else { DataRow filaInfoUsuario = tablaInfoUsuario.Rows[0]; html_completo = html_completo.Replace("[CIUDAD_FIRMA]", filaInfoUsuario["NOMBRE_CIUDAD"].ToString()); } html_completo = html_completo.Replace("[DIAS]", DateTime.Now.Day.ToString()); html_completo = html_completo.Replace("[MES]", _tools.obtenerNombreMes(DateTime.Now.Month)); html_completo = html_completo.Replace("[ANNO]", DateTime.Now.Year.ToString()); String filename = "previsulizador_clausula"; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf"); Response.Clear(); Response.ContentType = "application/pdf"; iTextSharp.text.Document document = new iTextSharp.text.Document(PageSize.A4, 40, 40, 80, 40); iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream); pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "clausula"; document.Open(); String tempFile = Path.GetTempFileName(); using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_completo); } List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { document.Add(element); } document.Close(); writer.Close(); Response.End(); File.Delete(tempFile); }
private void ImprimirContratoO_L_COMPLETO(DataRow filaInfoContrato) { tools _tools = new tools(); Boolean CarnetIncluido = CheckBox_CON_CARNET_APARTE.Checked; StreamReader archivo; if (Session["idEmpresa"].ToString() == "1") { if (CarnetIncluido == true) { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_sertempo_obra_labor.htm")); } else { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_sertempo_obra_labor_carnet_aparte.htm")); } } else { if (CarnetIncluido == true) { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_eys_labor_contratada.htm")); } else { archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\contrato_eys_labor_contratada_carnet_aparte.htm")); } } String html = archivo.ReadToEnd(); archivo.Dispose(); archivo.Close(); String filename; if (Session["idEmpresa"].ToString() == "1") { html = html.Replace("[DIR_LOGO_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/logo_sertempo.png"); html = html.Replace("[MENSAJE_LOGO]", "SERVICIOS TEMPORALES PROFESIONALES"); html = html.Replace("[NOMBRE_EMPLEADOR]", tabla.VAR_NOMBRE_SERTEMPO); html = html.Replace("[DOMICILO_EMPLEADOR]", tabla.VAR_DOMICILIO_SERTEMPO); html = html.Replace("[DESCRIPCION_CARGO]", filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper()); html = html.Replace("[SERVICIO_RESPECTIVO]", filaInfoContrato["DESCRIPCION"].ToString().Trim().ToUpper()); html = html.Replace("[EMPRESA_USUARIA]", filaInfoContrato["RAZ_SOCIAL"].ToString().Trim().ToUpper()); html = html.Replace("[DESCRIPCION_SALARIO]", filaInfoContrato["DESCRIPCION_SALARIO"].ToString().Trim().ToUpper()); html = html.Replace("[DIR_FIRMA_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/firma_autos_recomendacion.jpg"); filename = "contrato_sertempo"; } else { html = html.Replace("[DIR_LOGO_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/logo_eficiencia.jpg"); html = html.Replace("[NOMBRE_EMPLEADOR]", tabla.VAR_NOMBRE_EYS); html = html.Replace("[DOMICILO_EMPLEADOR]", tabla.VAR_DOMICILIO_EYS); html = html.Replace("[FUNCION_CARGO]", filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper()); html = html.Replace("[ACTIVIDAD_CONTRATADA]", filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper()); html = html.Replace("[EMPRESA_DESTACA]", filaInfoContrato["RAZ_SOCIAL"].ToString().Trim().ToUpper()); html = html.Replace("[DESCRIPCION_SALARIO]", filaInfoContrato["DESCRIPCION_SALARIO"].ToString().Trim().ToUpper()); html = html.Replace("[DIR_FIRMA_EMPLEADOR]", tabla.DIR_IMAGENES_PARA_PDF + "/firma_autos_recomendacion.jpg"); filename = "contrato_eys"; } html = html.Replace("[CARGO_TRABAJADOR]", filaInfoContrato["NOM_OCUPACION"].ToString().Trim().ToUpper()); html = html.Replace("[NOMBRE_TRABAJADOR]", filaInfoContrato["APELLIDOS"].ToString().Trim().ToUpper() + " " + filaInfoContrato["NOMBRES"].ToString().Trim().ToUpper()); html = html.Replace("[TIPO_DOCUMENTO_IDENTIDAD]", filaInfoContrato["TIP_DOC_IDENTIDAD"].ToString().Trim().ToUpper()); html = html.Replace("[DOC_IDENTIFICACION]", filaInfoContrato["NUM_DOC_IDENTIDAD"].ToString().Trim().ToUpper()); html = html.Replace("[SALARIO]", String.Format("$ {0:N2}", Convert.ToDecimal(filaInfoContrato["SALARIO"]).ToString())); html = html.Replace("[PERIODO_PAGO]", DropDownList_PERIODO_PAGO.SelectedItem.Text); html = html.Replace("[FECHA_INICIACION]", Convert.ToDateTime(filaInfoContrato["FECHA_INICIA"]).ToLongDateString()); html = html.Replace("[CARNE_VALIDO_HASTA]", Convert.ToDateTime(filaInfoContrato["FECHA_TERMINA"]).ToLongDateString()); usuario _usuario = new usuario(Session["idEmpresa"].ToString()); DataTable tablaInfoUsuario = _usuario.ObtenerInicioSesionPorUsuLog(Session["USU_LOG"].ToString()); if (tablaInfoUsuario.Rows.Count <= 0) { html = html.Replace("[CIUDAD_FIRMA]", "Desconocida"); } else { DataRow filaInfoUsuario = tablaInfoUsuario.Rows[0]; html = html.Replace("[CIUDAD_FIRMA]", filaInfoUsuario["NOMBRE_CIUDAD"].ToString()); } DateTime fechaHoy = DateTime.Now; html = html.Replace("[DIAS_FIRMA]", fechaHoy.Day.ToString()); html = html.Replace("[MES_FIRMA]", _tools.obtenerNombreMes(fechaHoy.Month)); html = html.Replace("[ANNO_FIRMA]", fechaHoy.Year.ToString()); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf"); Response.Clear(); Response.ContentType = "application/pdf"; iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(612, 936), 15, 15, 10, 10); iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream); pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; PageEventHandler.tipoDocumento = "contrato"; document.Open(); String tempFile = Path.GetTempFileName(); using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html); } List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { document.Add(element); } document.Close(); writer.Close(); Response.End(); File.Delete(tempFile); }
public byte[] GenerarProgramaGeneral(Decimal ID_PROGRAMA_GENERAL, String URL_SERVER) { tools _tools = new tools(); //OBTENEMOS LA MAESTRA DEL PROGRAMA GENERAL Programa _programa = new Programa(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaPrograma = _programa.ObtenerPrograGeneralMaestraPorId(ID_PROGRAMA_GENERAL); DataRow filaPrograma = tablaPrograma.Rows[0]; String html_encabezado = "<html>"; html_encabezado += "<head>"; html_encabezado += "</head>"; html_encabezado += "<body>"; String html_pie = "</body>"; html_pie += "</html>"; //En esta variable cargamos el documento plantilla StreamReader archivo_original = new StreamReader(Server.MapPath(@"~\plantillas_reportes\programa_general_rse_global.htm")); String html_formato_programa = html_encabezado + archivo_original.ReadToEnd(); archivo_original.Dispose(); archivo_original.Close(); String NOMBRE_PROGRAMA = filaPrograma["TITULO"].ToString().Trim(); //String URL_IMAGEN_PROGRAMA = "http://" + Request.ServerVariables["HTTP_HOST"].ToString() + filaPrograma["DIR_IMAGEN"].ToString().Replace(",",""); //String URL_SERVER String URL_IMAGEN_PROGRAMA = "http://" + URL_SERVER + filaPrograma["DIR_IMAGEN"].ToString().Replace("~", ""); String ANNO_PROGRAMA = filaPrograma["ANNO"].ToString().Trim(); String PARTE_INICIAL = filaPrograma["TEXTO_CABECERA"].ToString().Trim(); String PARTE_FINAL = filaPrograma["TEXTO_FINAL"].ToString().Trim(); html_formato_programa = html_formato_programa.Replace("[NOMBRE_PROGRAMA]", NOMBRE_PROGRAMA); html_formato_programa = html_formato_programa.Replace("[URL_IMAGEN_PROGRAMA]", URL_IMAGEN_PROGRAMA); html_formato_programa = html_formato_programa.Replace("[ANNO_PROGRAMA]", ANNO_PROGRAMA); html_formato_programa = html_formato_programa.Replace("[PARTE_INICIAL]", PARTE_INICIAL); html_formato_programa = html_formato_programa.Replace("[PARTE_FINAL]", PARTE_FINAL); //----------------------------------------------------------------------------------- //ahora vamos a generar una lista apropiada para mostrar los subprograma y actividades Dictionary<String, infoNodoProgramaGeneral> diccionarioPrograma = new Dictionary<String, infoNodoProgramaGeneral>(); CargarSubProgramasYActividadesDeProgramaGeneralEnLista(ID_PROGRAMA_GENERAL, 0, diccionarioPrograma, null); String html_titulo_herramientas_programa = "<div style=\"text-align: center; font-weight: bold; font-size:14px;\">"; html_titulo_herramientas_programa += "HERRAMIENTAS DEL PROGRAMA"; html_titulo_herramientas_programa += "</div>"; html_titulo_herramientas_programa += "<br>"; String html_herramientas = String.Empty; foreach(KeyValuePair<String, infoNodoProgramaGeneral> herramienta in diccionarioPrograma) { //key = NUMERO:TIPOHERRAMIENTA // NUMERO = ejemplo [1.2.3] o [1] o [1.1] // TIPOHERRAMIENTA = [SUBPROGRAMA] o [ACTIVIDAD] String[] numeracion_tipo = herramienta.Key.Split(':'); //determinnamos el nivel de numeracion segun el Lenght del arreglo resulktante: ejemplo [1.1.2] es de nivel 3 //esto es para determinar el nivel de sangria del parrafo String[] numeracion_separada = numeracion_tipo[0].Split('.'); html_herramientas += GetTablaHerramientas(numeracion_separada.Length, numeracion_tipo[0], numeracion_tipo[1], herramienta.Value); } //----------------------------------------------------------------------------------- html_formato_programa = html_formato_programa.Replace("[ESTRUCTURA_PROGRAMA]", html_herramientas); html_formato_programa += html_pie; //creamos un configuramos el documento de pdf //(tamaño de la hoja,margen izq, margen der, margin arriba margen abajo) iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(595, 842), 50, 50, 80, 45); using (MemoryStream streamArchivo = new MemoryStream()) { iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, streamArchivo); // Our custom Header and Footer is done using Event Handler pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; // Define the page header // Define the page header if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "entrevista"; document.Open(); //capturamos el archivo temporal del response String tempFile = Path.GetTempFileName(); //y lo llenamos con el html de la plantilla using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html_formato_programa); } //leeemos el archivo temporal y lo colocamos en el documento de pdf List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { if (element.Chunks.Count > 0) { if (element.Chunks[0].Content == "linea para paginacion de pdf") { document.NewPage(); } else { document.Add(element); } } else { document.Add(element); } } //limpiamos todo document.Close(); writer.Close(); return streamArchivo.ToArray(); } }
private void ImprimirContratoO_L_PREIMPRESO(DataRow filaInfoContrato) { tools _tools = new tools(); Boolean CarnetIncluido = CheckBox_CON_CARNET_APARTE.Checked; String filename = "plantilla_contrato_preimpreso_obra_labor_sertempo_eys"; HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf"); Response.Clear(); Response.ContentType = "application/pdf"; iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(ancho, alto), v_pixeles(15), v_pixeles(15), v_pixeles(15), v_pixeles(15)); iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream); pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; document.Open(); String LABORA_EN = filaInfoContrato["RAZ_SOCIAL"].ToString().Trim().ToUpper(); String CARGO = filaInfoContrato["NOM_OCUPACION"].ToString().Trim().ToUpper(); String CC = filaInfoContrato["NUM_DOC_IDENTIDAD"].ToString().Trim().ToUpper(); String NOMBRE = filaInfoContrato["APELLIDOS"].ToString().Trim().ToUpper() + " " + filaInfoContrato["NOMBRES"].ToString().Trim().ToUpper(); String FIRMA_EMPLEADO = String.Empty; String VALIDO_HASTA = Convert.ToDateTime(filaInfoContrato["FECHA_TERMINA"]).ToLongDateString(); String EMPRESA_USUARIA = filaInfoContrato["RAZ_SOCIAL"].ToString().Trim().ToUpper(); String FECHA_INICIACION = Convert.ToDateTime(filaInfoContrato["FECHA_INICIA"]).ToLongDateString(); String SALARIO = "$ " + String.Format("{0:N2}",Convert.ToDecimal(filaInfoContrato["SALARIO"]).ToString()); String PERIODO_PAGO = DropDownList_PERIODO_PAGO.SelectedItem.Text; String SERVICIO_RESPECTIVO = filaInfoContrato["DESCRIPCION"].ToString().Trim().ToUpper(); String DESCRIPCION_CARGO = filaInfoContrato["DSC_FUNCIONES"].ToString().Trim().ToUpper(); String NOMBRE_TRABAJADOR = filaInfoContrato["APELLIDOS"].ToString().Trim().ToUpper() + " " + filaInfoContrato["NOMBRES"].ToString().Trim().ToUpper(); String CC_TRABAJADOR = filaInfoContrato["NUM_DOC_IDENTIDAD"].ToString().Trim().ToUpper(); String CARGO_TRABAJADOR = filaInfoContrato["NOM_OCUPACION"].ToString().Trim().ToUpper(); String DOMICILIO_EMPLEADOR; if (Session["idEmpresa"].ToString() == "1") { DOMICILIO_EMPLEADOR = tabla.VAR_DOMICILIO_SERTEMPO; } else { DOMICILIO_EMPLEADOR = tabla.VAR_DOMICILIO_EYS; } String DIAS = DateTime.Now.Day.ToString(); String MES = _tools.obtenerNombreMes(DateTime.Now.Month); String ANIO = DateTime.Now.Year.ToString().Substring(2, 2); Font letra; Phrase texto; PdfPTable tablaPdf; PdfPCell celda; float escalaFirma = 80; String dirImagenFirma; if (Session["idEmpresa"].ToString() == "1") { dirImagenFirma = Server.MapPath("~/imagenes/reportes/firma_contrato_empleador_sertempo.jpg"); } else { dirImagenFirma = Server.MapPath("~/imagenes/reportes/firma_contrato_empleador_eys.jpg"); } iTextSharp.text.Image imagenFirma = iTextSharp.text.Image.GetInstance(dirImagenFirma); imagenFirma.ScalePercent(escalaFirma); PdfContentByte cb = writer.DirectContent; if (CarnetIncluido == true) { cb.SetFontAndSize(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 7); cb.BeginText(); cb.SetTextMatrix(v_pixeles(17), v_pixeles(10)); cb.ShowText(LABORA_EN); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(17), v_pixeles(15)); cb.ShowText(CARGO); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(17), v_pixeles(19)); cb.ShowText(CC); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(17), v_pixeles(24)); cb.ShowText(NOMBRE); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(133), v_pixeles(53)); cb.ShowText(FIRMA_EMPLEADO); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(133), v_pixeles(57)); cb.ShowText(VALIDO_HASTA); cb.EndText(); } cb.SetFontAndSize(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 8); cb.BeginText(); cb.SetTextMatrix(v_pixeles(10), v_pixeles(234)); cb.ShowText(EMPRESA_USUARIA); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(140), v_pixeles(234)); cb.ShowText(FECHA_INICIACION); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(10), v_pixeles(242)); cb.ShowText(SALARIO); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(140), v_pixeles(242)); cb.ShowText(PERIODO_PAGO); cb.EndText(); tablaPdf = new PdfPTable(1); tablaPdf.TotalWidth = document.PageSize.Width - v_pixeles(20); letra = new Font(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 8); texto = new Phrase(SERVICIO_RESPECTIVO, letra); celda = new PdfPCell(texto); celda.Border = 0; celda.BorderWidth = 0; celda.HorizontalAlignment = 3; tablaPdf.AddCell(celda); tablaPdf.WriteSelectedRows(0, -1, v_pixeles(9), v_pixeles(259), cb); tablaPdf = new PdfPTable(1); tablaPdf.TotalWidth = document.PageSize.Width - v_pixeles(20); letra = new Font(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 8); texto = new Phrase(DESCRIPCION_CARGO, letra); celda = new PdfPCell(texto); celda.Border = 0; celda.BorderWidth = 0; celda.HorizontalAlignment = 3; tablaPdf.AddCell(celda); tablaPdf.WriteSelectedRows(0, -1, v_pixeles(9), v_pixeles(277), cb); cb.BeginText(); cb.SetTextMatrix(v_pixeles(10), v_pixeles(282)); cb.ShowText(NOMBRE_TRABAJADOR); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(140), v_pixeles(282)); cb.ShowText(CC_TRABAJADOR); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(10), v_pixeles(290)); cb.ShowText(CARGO_TRABAJADOR); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(98), v_pixeles(299)); cb.ShowText(DOMICILIO_EMPLEADOR); cb.EndText(); document.NewPage(); cb.SetFontAndSize(BaseFont.CreateFont(BaseFont.TIMES_ROMAN, BaseFont.CP1252, false), 6); cb.BeginText(); cb.SetTextMatrix(v_pixeles(45), v_pixeles(198)); cb.ShowText(DIAS); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(83), v_pixeles(198)); cb.ShowText(MES); cb.EndText(); cb.BeginText(); cb.SetTextMatrix(v_pixeles(122), v_pixeles(198)); cb.ShowText(ANIO); cb.EndText(); tablaPdf = new PdfPTable(1); tablaPdf.TotalWidth = document.PageSize.Width - document.LeftMargin - document.RightMargin; celda = new PdfPCell(imagenFirma); celda.Border = 0; celda.BorderWidth = 0; tablaPdf.AddCell(celda); tablaPdf.WriteSelectedRows(0, -1, v_pixeles(30), v_pixeles(111) + imagenFirma.Height, cb); document.Close(); writer.Close(); Response.End(); }
protected void Button_IMPRIMIR_AUTOS_Click(object sender, EventArgs e) { Decimal ID_SOLICITUD = Convert.ToDecimal(TextBox_ID_SOLICITUD.Text); Decimal ID_REQUISICION = Convert.ToDecimal(HiddenField_ID_REQUERIMIENTO.Value); String EMPRESA = null; Boolean hayAutos = false; String armadoDeAutos = ""; ordenExamenes _ordenes = new ordenExamenes(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaOrdenes = _ordenes.ObtenerConRegOrdenExamenPorSolicitud(Convert.ToInt32(ID_REQUISICION), Convert.ToInt32(ID_SOLICITUD)); foreach (DataRow filaExamenes in tablaOrdenes.Rows) { if (!(String.IsNullOrEmpty(filaExamenes["OBSERVACIONES"].ToString().Trim()))) { if (hayAutos == false) { armadoDeAutos = filaExamenes["OBSERVACIONES"].ToString().Trim(); } else { armadoDeAutos += "; " + filaExamenes["OBSERVACIONES"].ToString().Trim(); } hayAutos = true; } } if (hayAutos) { radicacionHojasDeVida _sol = new radicacionHojasDeVida(Session["idEmpresa"].ToString(), Session["USU_LOG"].ToString()); DataTable tablaSol = _sol.ObtenerRegSolicitudesingresoPorIdSolicitud(Convert.ToInt32(ID_SOLICITUD)); DataRow filaSol = tablaSol.Rows[0]; DateTime FECHA_AUTO = DateTime.Now; String NOMBRE_TRABAJADOR = TextBox_NOMBRES.Text.Trim() + " " + TextBox_APELLIDOS.Text.Trim(); String TELEFONO_TRABAJADOR = TextBox_TEL_ASPIRANTE.Text.Trim(); String TIPO_DOCUMENTO_IDENTIDAD = DropDownList_TIP_DOC_IDENTIDAD.SelectedValue; String NUMERO_DOCUMENTO_IDENTIDAD = TextBox_NUM_DOC_IDENTIDAD.Text.Trim(); String AUTOS_RECOMENDACION = armadoDeAutos; String NOMBRE_EMPLEADOR = null; if (Session["idEmpresa"].ToString() == "1") { NOMBRE_EMPLEADOR = tabla.VAR_NOMBRE_SERTEMPO; } else { NOMBRE_EMPLEADOR = tabla.VAR_NOMBRE_EYS; } StreamReader archivo = new StreamReader(Server.MapPath(@"~\plantillas_reportes\autos_recomendacion.htm")); String html = archivo.ReadToEnd(); archivo.Dispose(); archivo.Close(); html = html.Replace("[FECHA_AUTO]", FECHA_AUTO.ToLongDateString()); html = html.Replace("[NOMBRE_TRABAJADOR]", NOMBRE_TRABAJADOR); html = html.Replace("[TELEFONO_TRABAJADOR]", TELEFONO_TRABAJADOR); html = html.Replace("[TIPO_DOCUMENTO_IDENTIDAD]", TIPO_DOCUMENTO_IDENTIDAD); html = html.Replace("[NUMERO_DOCUMENTO_IDENTIDAD]", NUMERO_DOCUMENTO_IDENTIDAD); html = html.Replace("[AUTOS_RECOMENDACION]", AUTOS_RECOMENDACION); html = html.Replace("[NOMBRE_EMPLEADOR]", NOMBRE_EMPLEADOR); html = html.Replace("[DIR_FIRMA_SALUD]", tabla.DIR_IMAGENES_PARA_PDF + "/firma_autos_recomendacion.jpg"); String filename = "auto_recomendacion_" + ID_SOLICITUD.ToString(); HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;FileName=" + filename + ".pdf"); Response.Clear(); Response.ContentType = "application/pdf"; iTextSharp.text.Document document = new iTextSharp.text.Document(new Rectangle(612, 397), 25, 25, 75, 30); iTextSharp.text.pdf.PdfWriter writer = PdfWriter.GetInstance(document, Response.OutputStream); pdfEvents PageEventHandler = new pdfEvents(); writer.PageEvent = PageEventHandler; if (Session["idEmpresa"].ToString() == "1") { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_sertempo.png"); } else { PageEventHandler.dirImagenHeader = Server.MapPath("~/imagenes/reportes/logo_eficiencia.png"); } PageEventHandler.fechaImpresion = DateTime.Now; PageEventHandler.tipoDocumento = "autos_recomendacion"; document.Open(); String tempFile = Path.GetTempFileName(); using (StreamWriter tempwriter = new StreamWriter(tempFile, false)) { tempwriter.Write(html); } List<IElement> htmlarraylist = HTMLWorker.ParseToList(new StreamReader(tempFile), new StyleSheet()); foreach (IElement element in htmlarraylist) { document.Add(element); } document.Close(); writer.Close(); Response.End(); File.Delete(tempFile); } }