|
Página 3 de 5
|
Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Autor |
Mensaje |
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Julio:
Si bien vi que existía hace tiempo, nunca me he dedicado a intentar usarla, pero hace unos días decidí aprender a utilizarla y aquí estoy haciendo pruebas.
De momento he descargado la versión classLatex-0.0.4.tar.gz que es la que estoy utilizando.
Es muy rápida y estoy tratando de usarla para generar listados.
De momento no logro hacerlo bien porque el resultado que le paso tiene mas columnas que las que entran en la pagina y también mas registros que los que caben.
¿Es posible manejar el ancho de las columnas?
¿Es posible hacer un salto de pagina y que la tabla continúe en la pagina sigiente? o si son varias paginas cortar la tabla cada vez que llegue a un limite.
También, quería pedirte que, como esta clase tiene varios años ya, nos pongas al día sobre las novedades y si existe algún proyecto de altas bajas modificaciones que la este usando para poder mirar el código y utilizarlo como ejemplo, de momento estoy usando el tuyo Ejemplo2ClassLatex que es muy instructivo.
Todavía no hay un componente latex para gambas verdad?
He conseguido aprender algunas cosas del lenguaje latex y he logrado achicar el margen de la pagina para que entren mas contenidos, pero es un universo bastante amplio y llevara tiempo.
Mi objetivo es poder hacer listados de datos con encabezados mas o menos complejos, facturas, resúmenes de materiales etc. etc.
¿Se pueden dibujar diagramas con latex?
Muchas gracias por crear la clase classlatex
Saludos.
|
#21 Miercoles, 24 Febrero 2016, 23:35 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Hola Tincho:
¿Es posible manejar el ancho de las columnas?
¿Es posible hacer un salto de pagina y que la tabla continúe en la pagina sigiente? o si son varias paginas cortar la tabla cada vez que llegue a un limite.
Pues.... habría que incorporarlo o mirarlo como se hace con "latex" e implementarlo. Es cuestión de ampliar o adaptar el código fuente del programa (o la clase latex).
Citar: nos pongas al día sobre las novedades y si existe algún proyecto de altas bajas modificaciones que la este usando para poder mirar el código y utilizarlo como ejemplo
No, no hay novedades sobre esa clase.
Citar: Todavía no hay un componente latex para gambas verdad?
No, no lo hay
Citar: ¿Se pueden dibujar diagramas con latex?
Mirate esto:
http://www.uv.es/~jgutierr/LatexAva...Avanzado_j1.pdf
También puedes incluir imágenes:
https://es.sharelatex.com/learn/Inserting_Images
Lo normal es generar el gráfico por un programa, convertirlo en imagen, e insertarla en tu documento latex.
Por ejemplo, lo puedes generar con gnuplot http://www.gnuplot.info/
Nota:
Esta clase la tengo un poco "abandonada", ya estoy usando más el html y exportación de datos directamente a libreoffice.
Mirate este video:
https://www.youtube.com/watch?v=Lwk...zmOXYsG&index=8
|
#22 Jueves, 25 Febrero 2016, 11:11 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Julio:
La aplicación de ventas, de la que muestras el funcionamiento el en video, se puede descargar desde algún sitio? me interesa ver como generas los html y luego los conviertes a ods? Ya que solo logre descargar Cortes-0.3.1.tar.gz pero en el video aparece ventas 0.4.9
Gracias por la información.
Saludos.
|
#23 Jueves, 25 Febrero 2016, 16:18 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Tincho:
Citar: La aplicación de ventas, de la que muestras el funcionamiento el en video, se puede descargar desde algún sitio?
Este fin de semana la subo al blog que he hecho para ella:
http://softwarelibreventas.blogspot.com.es/
Citar: me interesa ver como generas los html
La generación de html, la puedes ver explicada en:
http://cursogambas.blogspot.com.es/...o-printer.html.
http://jsbsan.blogspot.com.es/2012/...rapidos-de.html
Citar: y luego los conviertes a ods?
No, no lo convierte ods, solo lo que hago es abrir el archivo .html, y libreoffice calc lo convierte y lo visiona. Luego lo puedes guardar como .ods o .xls desde libreoffice.
Ya aviso en el foro de la disponibilidad del programa.
Saludos
Julio
|
#24 Jueves, 25 Febrero 2016, 20:48 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Julio:
Estoy intentando usar la clase latex, me he topado con un inconveniente.
Cuando el resultado tiene mas registros que los que caben en la hoja, ya sea apaisada o no, la tabla no se "reparte" en las sucesivas paginas.
La soluciones que se me ocurren son:
1) Subdividir el resultado en resultados mas pequeños con cantidades NRPag y enviarle dicho parámetro al método y que este reparta los registros en tantas paginas como sea necesario.
2) Subdividir el resultado antes de "enviarlo" al método y no "modificar" el método ResultadoConsultaDB.
En cualquiera de los dos casos me pregunto ¿Como es posible subdividir un resultado de una consulta a la base de datos?
Saludos.
|
#25 Lunes, 29 Febrero 2016, 17:09 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
No se si te vale de ayuda, porque no uso latex, pero en mi manera de imprimir con HTML, el fichero resultante utiliza estilos específicios para imprimir en papel, con lo que puedes establecer la cabecera de página, pie de página etc... y no verlos en pantalla.
=================== No podemos regresar
|
#26 Lunes, 29 Febrero 2016, 17:18 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
No se si te vale de ayuda, porque no uso latex, pero en mi manera de imprimir con HTML, el fichero resultante utiliza estilos específicios para imprimir en papel, con lo que puedes establecer la cabecera de página, pie de página etc... y no verlos en pantalla.
Si todo me vale de ayuda, ya que quede como Tom hanks cuando perdio a wilson, ya que usaba reports2 y ahora no funciona en la version debian de gambas.
Y ya es la segunda vez que este "reports" me deja así.
Necesito generar los informes en formato A3 de varias paginas y muchos registros y cada pagina con su encabezado con título del documento numero de página etc. etc.
Así que, maestro Jedi, muéstrenos su manera de hacer reportes html con encabezados estilos y toda la pesca.
¿Se pueden controlar los anchos de las columnas?
¿Se puede definir un numero de registros por pagina?
Saludos.
|
#27 Lunes, 29 Febrero 2016, 17:39 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Se puede hacer de todo... dependiendo de tu habilidad con HTML y CSS. (La mía no es mucha, pero en mi trabajo no se requiere más)
En realidad ya conoces el método que uso... aunque te haya pasado desapercibido mientras echabas la SIESTA (perdón, chiste horrible...)
Hasta donde lo he desarrollado, más o menos, se compone de:
- Un fichero de "plantilla" html que defina la cabecera, el cuerpo y los pies de página
- Una, o varias, hojas de estilos
- Una base de datos con los datos a imprimir, claro, y
- Un proceso que mezcle todo, claro.
La plantilla es ésta:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns='http://www.w3.org/1999/xhtml' xml:lang='es' lang='es'>
<HEAD>
<META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=utf-8">
<TITLE></TITLE>
<meta name="qrichtext" content="1" />
<META NAME="GENERATOR" CONTENT="HTML">
<META NAME="AUTHOR" CONTENT="jorge ">
<META NAME="CREATED" CONTENT="20101122;22280000">
<META NAME="CHANGED" CONTENT="0;0">
<STYLE TYPE="text/css">
<!--
@page { margin: 2cm }
P { margin-bottom: 0.21cm; color: #000000 }
P.western { font-family: "Times New Roman", serif; font-size: 12pt; so-language: es-ES }
P.cjk { font-family: "DejaVu Sans", sans-serif; so-language: zh-CN }
P.ctl { font-family: "Times New Roman", serif; font-size: 12pt }
-->
[css]
</STYLE>
<STYLE>
H1.SaltoDePagina {PAGE-BREAK-AFTER:always}
</STYLE>
</head>
<BODY onload=\"window.print()\" style="font-size:9pt;font-family:Sans Serif">
<br>
<div float="center" width="100%">
<div style="float:Left; width:30%;"> <img src="[logo]" align="left" width="200"> </div>
<div style="float:right; text-align:center; font-weight:bold; font-size:18px; width:69%;"> [titulo] </div>
</div>
<table width="100%">
<thead>
[cabeceras]
</thead>
<tfoot>
[pie]
</tfoot>
<tbody>
[loop]
</tbody>
</table>
</body>
</html>
Tu código debe sustituir las cadenas [css],[cabeceras],[loop] y [pie] con los contenidos de tu base de datos.
-Sustituye [css] por el contenido de un fichero css con los estilos de colores, tipo de letra, etc.
Este es el fichero css (siesta.css) que usa SIESTA por defecto, pero te da a elegir entre unos cuantos:
table {
font-family: Verdana, Arial, Helvetica, sans-serif;
border-collapse: collapse;
border-left: 1px solid #ccc;
border-top: 1px solid #ccc;
color: #333;
}
table thead tr th {
text-transform: uppercase;
background: #e2e2e2;
}
table tfoot tr th, table tfoot tr td {
text-transform: uppercase;
color: #000;
font-weight: bold;
}
table tfoot tr th {
width: 20%;
}
table tfoot tr td {
width: 80%;
}
table td, table th {
border-right: 1px solid #ccc;
border-bottom: 1px solid #ccc;
padding: 5px;
line-height: 1.5em;
font-size: 10px;
vertical-align: top;
}
table tr.odd th, table tr.odd td {
background: #efefef;
}
-Sustituye [loop] por los datos de la consulta sql en formato de tabla html es decir:
<tr><td>mi contenido 1 </td><td> mi contenido 2</td>... </tr>
por cada registro
-Sustituye [pie] por el contenido html que quieras (en el caso de SIESTA es sólo un literal, pero puede ser cualquier cosa)
El código extraído del programa SIESTA:
plant = File.Load(Comun.pathEntorno &/ "siesta.html")
plant = Replace(plant, "[css]", File.Load(Comun.pathEntorno &/ "css/" & estilo.text))
plant = Replace(plant, "[columnas]", Str(arTitulos.Count))
plant = Replace(plant, "[logo]", "file://" & Comun.entorno["logo_print"])
plant = Replace(plant, "[titulo]", titulo.Text)
plant = Replace(plant, "[pie]", "<tr><td colspan=" & Str(arTitulos.Count + IIf(numerar.Value, 1, 0)) & ">" & pie.Text & "</td></tr>")
Se encarga de esas sustituciones...
El resultado de todo ese tejemaneje lo grabas como archivo html y ya lo tienes, lo abres con el Navegador y lo imprimes desde ahí.
Esto último es la debilidad del sistema: No he podido hacer la impresión directamente desde gambas. Es necesario el proceso de impresión del navegador. Esta debilidad la camuflo llamando siempre al navegador desde el botón Imprimir... Como si esa fuese la vista previa
El truco está en el estilo que especifica que, por un lado el campo [pie] situado en la etiqueta html TFOOT (table foot). Lo que incluyas en la plantilla sustituyendo a [pie] te aparecerá al final de cada página.
Leyendo esto puede parecer lioso, pero si exploras el código del formulario "fCreaListados" de Siesta verás todo el proceso en marcha.
Para cualquier duda, pregunta.
=================== No podemos regresar
|
#28 Lunes, 29 Febrero 2016, 18:45 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Se me olvidada el enlace al programa SIESTA
http://foro.gambas-es.org/viewtopic...t=siesta#p25375
... y otra cosita: Al abrir el fichero con el navegador lo verás todo como una lista sin saltos. Imprímelo en formato .ps y lo verás tal como saldría por la impresora.
=================== No podemos regresar
|
#29 Lunes, 29 Febrero 2016, 18:50 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Clase Latex: Para Crear Documentos Y Reportes En Pdf Para Imprimirlos
Shordi:
Muy interesante tu código... me lo apunto, porque yo estoy haciendo los listados en mis programas actuales con html, y se podrian mejorar con lo que comentas.
tincho
Citar: 2) Subdividir el resultado antes de "enviarlo" al método y no "modificar" el método ResultadoConsultaDB.
No se si se puede "partir", un result en varios result. Seguramente haya que modificar la subrutina.
Añado:
Shordi ha comentado como se hace: Fraccionar una consulta Sql
http://foro.gambas-es.org/viewtopic.php?f=3&t=5204&highlight=
última edición por jsbsan el Lunes, 29 Febrero 2016, 19:19; editado 1 vez
|
#30 Lunes, 29 Febrero 2016, 19:16 |
|
|
|
Temas parecidos
Temas parecidos
|
Página 3 de 5
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|