Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas


Objetivo: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Hola compañeros muy buenos dias quiero comentarles que estoy diseñando un sistema para el control de asistencia de asesores de una institucion y quisiera sabercomo haria yo para poder imprimir una tableview en gambas donde se ven los registros de los asesores y que lo pueda guardar en pdf les agradezco amigos.

Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
El tema es complejo así planteado en bruto. Explórate el control gb.pdf y el control gb.report. Míra en los ejemplos de gambas los relativos a la creación de pdf y luego inténtalo por cuenta. Si entonces tienes algún problema concreto o no sabes cómo hacer algo, exponlo aquí, que seguro que recibes ayuda más específica.

Saludos

Perfil MP  
Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
shordi escribió: [Ver mensaje]
El tema es complejo así planteado en bruto. Explórate el control gb.pdf y el control gb.report. Míra en los ejemplos de gambas los relativos a la creación de pdf y luego inténtalo por cuenta. Si entonces tienes algún problema concreto o no sabes cómo hacer algo, exponlo aquí, que seguro que recibes ayuda más específica.

Saludos


Amigo en el libro de gambas, no hay una descripcion de ellos? ( el control gb.pdf y el control gb.report.) si lo hay me puedes decir en que capitulo estoy explorando el capitulo 3 pero me da la imprecion de que no esta Salu2

Ayortano
Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Es que creo que son más nuevos esos componentes que el libro.

Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Solucion que se me ocurre: Da un rodeo....

Te explico, "creas" un archivo index.html con la información de la tablaview, o lo que sea desees... y luego lo abres con el Firefox, lo imprimes en una impresora "virtual" de pdf. (tienes que instalar una impresora virtual de pdf antes, claro)

Para crear un archivo .html, tienes que saber algo de html (tampoco mucho...)... puedes ver como lo hice yo en un programa (que creaba un informe y lo exportaba a html)

version-de-crear-indice-html-version-2

003-creando-el-archivo-html-1 de 2

004-creando-el-archivo-indexhtml-2 de 2

Espero que te sirva...

Saludos

Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Hola compañeros ya lo solucione lo hicey dure bastante, imagínense junto con la sentencia imprimir esto es una ganga.
OBSERVEN:

PUBLIC SUB Form_Open()
DIM i AS Integer
DIM fila AS Integer
DIM textos AS NEW String[]
DIM numer AS Integer

tabla.Header = TRUE
ME.Center
IF coneccion.conectarbase() THEN RETURN
tabla.Clear()
tabla.Columns.Count = 14
tabla.Columns[0].Text = "ID"
tabla.Columns[1].Text = "codigo"
tabla.Columns[2].Text = "cedula"
tabla.Columns[3].Text = "nombres"
tabla.Columns[4].Text = "apellidos"
tabla.Columns[5].Text = "direccion"
tabla.Columns[6].Text = "telefonos"
tabla.Columns[7].Text = "sexo"
tabla.Columns[8].Text = "programa"
tabla.Columns[9].Text = "fecha_ingreso"
tabla.Columns[10].Text = "fecha_asistencia"
tabla.Columns[11].Text = "dia_semanas"
tabla.Columns[12].Text = "hora_entrada"
tabla.Columns[13].Text = "hora_salida"
fila = fila + 1
tabla.Refresh
END



PUBLIC SUB reporte()
'variables a usar en el reporte
DIM header AS ReportVBox
DIM cont AS ReportHBox
DIM lab AS ReportLabel
DIM body AS ReportVBox
DIM lab3 AS ReportLabel
DIM colu AS ReportHBox
DIM i, j AS Integer
DIM foot AS ReportHBox
DIM lab2 AS ReportLabel
DIM pag AS ReportSpecialField
DIM textos AS NEW String[]
DIM numer AS Integer
report.Clear

'configuracion del reporte
Report.Orientation = Report.FillStyle
Report.Resolution = Printer.Resolution
Report.Padding = "1 cm"
Report.Size = "A4"
Report.Spacing = "10 mm"

'estructura del encabezado del reporte
header = NEW ReportVBox(Report)
header.LineStyle = Line.Solid
header.Autoresize = TRUE
header.ForeColor = Color.black
header.FillColor = Color.Blue
header.FillStyle = Fill.Solid

'texto del encabezado
cont = NEW ReportHBox(header)
cont.Autoresize = TRUE
cont.Height = "0.10 cm"
cont.Expand = TRUE
lab = NEW ReportLabel(cont)
lab.Font.Size = 15
lab.Font.Bold = 10
lab.ForeColor = Color.white
lab.Alignment = Align.Center
lab.Text = ("REPORTES PARA LA ASISTENCIA DE ASESORES")
lab.Expand = TRUE



'estructura del cuerpo del reporte
body = NEW ReportVBox(Report)
body.LineStyle = Line.Solid
body.ForeColor = Color.black
body.Autoresize = TRUE

colu = NEW ReportHBox(body)
colu.Autoresize = TRUE
colu.Spacing = "1 cm"
foot = NEW ReportHBox(Report)
foot.LineStyle = Line.Solid
foot.Autoresize = TRUE
foot.ForeColor = Color.black
foot.FillColor = Color.LightGray
foot.FillStyle = Fill.Solid
foot.Spacing = "4 cm"
lab2 = NEW ReportLabel(foot)
lab2.Alignment = Align.Center
lab2.Autoresize = TRUE
lab2.Text = "Hora= " & Time
lab2 = NEW ReportLabel(foot)
lab2.Alignment = Align.Center
lab2.Autoresize = TRUE
lab2.Text = "Fecha= " & Date
pag = NEW ReportSpecialField(foot)
pag.Text = "Pagina $PAGE de $NPAGE"

'contenido del cuerpo del reporte
FOR i = 0 TO tabla.Columns.Count - 1
lab = NEW ReportLabel(colu)
lab.Text = tabla.Columns[i].Text
lab.Font.Bold = TRUE
lab.Autoresize = TRUE
lab.Expand = TRUE
lab.Alignment = Align.Center
NEXT

FOR i = 0 TO tabla.rows.Count - 1
colu = NEW ReportHBox(body)
colu.Autoresize = TRUE
colu.Spacing = "1 cm"
FOR j = 0 TO tabla.Columns.Count - 1
lab = NEW ReportLabel(colu)
lab.Text = tabla[i, j].Text
lab.Autoresize = TRUE
lab.Expand = TRUE
lab.Alignment = Align.Center


NEXT
NEXT
END
PUBLIC SUB Button1_Click()
reporte()

Report.Preview
END

PUBLIC SUB Button3_Click()


DIM ArchivoTemporal AS String
DIM i AS Integer

'genero la estructura del reporte
reporte()

'inicializo el archivo temporal
ArchivoTemporal = Temp

'Inicio el objeto impresion para imprimir a un archivo
Printer.File = ArchivoTemporal
Printer.Size = report.Size
Printer.Orientation = report.Orientation
report.Resolution = printer.Resolution
'inicio el Trazado hacia el objeto printer
Draw.Begin(Printer)
Report.Layout

'recorro el numero de hojas del reporte
FOR i = 1 TO Report.count
Report.Draw(i)
IF i < Report.count THEN Printer.NewPage()
NEXT

'finalizo el trazado al buffer de impresora
Draw.End
'uso el programa externo ps2pdf (de impresora a pdf) y genero el archivo en el home del usuario
EXEC ["ps2pdf", ArchivoTemporal, User.Home &/ "reporte.pdf"] WAIT

'elimino el archivo temporal
KILL ArchivoTemporal
Message.Info("SE HA CREADO UN REPORTE EN PDF CON ÉXITO (GUARDADO EN HOME) ")
END



PUBLIC SUB Button2_Click()
DIM ruta AS String
DIM archivo AS File
DIM i, j AS Integer
ruta = User.Home &/ "reporte de asistencia.html"

OPEN ruta FOR WRITE CREATE AS #archivo
PRINT #archivo, "<html>"
PRINT #archivo, "<head><title>Reporte en HTML de Asistencias</title></head>"
PRINT #archivo, "<body topmargin='0' leftmargin='0'"
PRINT #archivo, ">"
PRINT #archivo, "<table border='1' width='500' cellpadding='4' cellspacing='2'>"
PRINT #archivo, " <tr>"
PRINT #archivo, " <td colspan='6' align='center'>"
PRINT #archivo, " <h3>Listado de Asistencias</h3>"
PRINT #archivo, " <tr>"
PRINT #archivo, " <td width='15%' align='center'>Codigo</td>"
PRINT #archivo, " <td align='center'>Cedula</td>"
PRINT #archivo, " <td align='center'>Nombres</td>"
PRINT #archivo, " <td align='center'>Apellidos</td>"
PRINT #archivo, " <td align='center'>Direccion</td>"
PRINT #archivo, " <td align='center'>Telefono</td>"
PRINT #archivo, " <td align='center'>Sexo</td>"
PRINT #archivo, " <td align='center'>Programa</td>"
PRINT #archivo, " <td align='center'>Fecha de Ingreso</td>"
PRINT #archivo, " <td align='center'>Fecha de Asistencia</td>"
PRINT #archivo, " <td align='center'>Dias de Semana</td>"
PRINT #archivo, " <td align='center'>Hora de Entrada</td>"
PRINT #archivo, " <td align='center'>Hora de Salida/td>"
PRINT #archivo, " </tr>"
FOR i = 0 TO tabla.rows.Count - 1
PRINT #archivo, " <tr>"
FOR j = 0 TO tabla.Columns.Count - 1
PRINT #archivo, " <td>" & tabla[i, j].Text & "</td>"
NEXT
PRINT #archivo, " </tr>"
NEXT
PRINT #archivo, "</table>"
PRINT #archivo, "</body>"
PRINT #archivo, "</html>"
CLOSE #archivo
Message.Info("SE HA CREADO UN REPORTE EN MODO HTML CON ÉXITO (GUARDADO EN HOME)")

END

PUBLIC SUB Button4_Click()



DIM i AS Integer

'genero la estructura del reporte
reporte()

printer.Setup
Printer.Size = report.Size
Printer.Orientation = report.Orientation
report.Resolution = printer.Resolution
'inicio el Trazado hacia el objeto printer
Draw.Begin(Printer)
Report.Layout

'recorro el numero de hojas del reporte
FOR i = 1 TO Report.count
Report.Draw(i)
IF i < Report.count THEN Printer.NewPage()
NEXT

'finalizo el trazado al buffer de impresora
Draw.End


END

PUBLIC SUB Button5_Click()

ME.Close

END

PUBLIC SUB tabla_Click()



END

PUBLIC SUB Button6_Click()

DIM fila AS Integer
coneccion.asisresul = coneccion.asiscon.Exec("Select *from asistencia_asesores")
fila = 0
DO WHILE coneccion.asisresul.Available
tabla.Rows.Insert(fila)
tabla[fila, 0].Text = coneccion.asisresul["ID"]
tabla[fila, 1].Text = coneccion.asisresul["codigo"]
tabla[fila, 2].Text = coneccion.asisresul["cedula"]
tabla[fila, 3].Text = coneccion.asisresul["nombres"]
tabla[fila, 4].Text = coneccion.asisresul["apellidos"]
tabla[fila, 5].Text = coneccion.asisresul["direccion"]
tabla[fila, 6].Text = coneccion.asisresul["telefonos"]
tabla[fila, 7].Text = coneccion.asisresul["sexo"]
tabla[fila, 8].Text = coneccion.asisresul["programa"]
tabla[fila, 9].Text = coneccion.asisresul["fecha_ingreso"]
tabla[fila, 10].Text = coneccion.asisresul["fecha_asistencia"]
tabla[fila, 11].Text = coneccion.asisresul["dias_semana"]
tabla[fila, 12].Text = coneccion.asisresul["hora_entrada"]
tabla[fila, 13].Text = coneccion.asisresul["hora_salida"]
coneccion.asisresul.MoveNext()
fila = fila + 1
LOOP
tabla.Refresh


END



PUBLIC SUB Button7_Click()
tabla.Clear

END


Si quieren algo mas me dicen y les paso lo demás ok.

Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
jousseph:

¿podias pasar el codigo fuente completo y los archivos necesarios (base de datos, aunque este vacia)? se que te pido mucho.. pero seria para ver el programa al completo y estudiar su funcionamiento. (es que en el tema de bases de datos estoy algo perdido, y me gustaria ver como interactua los controles con la base de datos)

De todos modos, gracias, un gran aporte para la comunidad

Jsbsan

última edición por jsbsan el Jueves, 26 Agosto 2010, 08:14; editado 1 vez
Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Primero salu2 a todos por temas de mi universidad no habia volvido a postear, pero ya estoy de vacaciones y bueno e vuelto a la comunidad, De nuevo un cordial saludo a todos y a todas
Volviendo al tema

jousseph: Amigo me parece muy interesante tu codigo y seria de una gran utilidad para la comunidad y para mi verlo, como dice Jsbsan
jsbsan escribió: [Ver mensaje]
jousseph:

¿podias pasar el codigo fuente completo y los archivos necesarios (base de datos, aunque este vacia)? se que te pido mucho.. pero seria para ver el programa al completo y estudiar su funcionamiento. (es que en el tema de bases de datos estoy algo perdido, y me gustaria ver como interactua los controles con la base de datos)

De todos modos, gracias, un gran aporte para la comunidad

Jsbsan


Muchas gracias amigo y salu2

última edición por Fenriz07 el Viernes, 26 Noviembre 2010, 19:24; editado 1 vez
Objetivo: Re: Como Hago Para Imprimir Una Tableview Y Guardar El Archivo En Pdf En Gambas
Compañero, algunas preguntas:
¿qué tipo de base de datos usas?
¿tabla es un gridview?
¿Podrías postear el código fuente? Sería genial para los que estamos aprendiendo.
Muchas gracias por tu aporte.
Saludos
Daniel


Página 1 de 1


  
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

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 1.0064s (PHP: 58% SQL: 42%)
Consultas SQL: 31 - Debug off - GZIP Activado