LIbreria PDF para web2py

295 views
Skip to first unread message

IvanaEmi

unread,
Feb 1, 2013, 7:51:55 AM2/1/13
to web2py-...@googlegroups.com
Hola.. debido al problema que tengo con el navegador google chrome, cuando genero un comprobante para imprimir y el mismo no me muestra la imagen insertada en el encabezado (Solo sucede con este navegador), pense en generar un PDF , una ves finalizado el formulario a completar, para que luego el usuario guarde o imprima,.. Estuve leyendo y encontre la librería " FPDF for python". http://code.google.com/p/pyfpdf/
Pero no me doy una idea de como importarla e invocarla cuando necesito generar mi pdf. Cuando llamo a la función imprimir paso algunos parámetros..Espero me ayuden simplemente necesito cambiar la función de imprimir por la de generar el pdf..

Graciiiass!!

Javier Quarite

unread,
Feb 1, 2013, 7:57:20 AM2/1/13
to web2py-...@googlegroups.com
Hola Ivana,

la primera vez que use web2py recuerdo que para hacer pruebas queria generar un pdf y me tope con esto

Solo fueron pruebas, no llegue a hacer mas que poner una tabla :)

Saludos

Javier

Javier Pepe

unread,
Feb 1, 2013, 10:09:50 AM2/1/13
to web2py-...@googlegroups.com
Ivana

Fpdf ya viene incluida en web2py, antes se llamaba pyfpdf, pero ahora es solo fpdf, si ves ejemplo con pyfdf cámbialos por fpdf.




2013/2/1 Javier Quarite <jqua...@gmail.com>

--
Has recibido este mensaje porque estás suscrito al grupo "web2py-usuarios" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a web2py-usuari...@googlegroups.com.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

IvanaEmi

unread,
Feb 4, 2013, 5:53:15 PM2/4/13
to web2py-...@googlegroups.com
Estuve probando los ejemplos!cambie como me dijiste Javier, pero o yo estoy invocando mal la función o no tengo idea de como armar las vistas de los ejemplos definidos..yo tengo la siguiente funcion, que recibe un ID de un alumno, y arma un comprobante, que es el que quiero generar en un PDF, asi el alumno imprime o guarda el mismo.. Help!!

def generoComprobante():

    alumno_id=request.vars.alumno_id
  
    alumno = relacionAlumno(db.alumnos.id== alumno_id).select()  
    return dict(alumno=alumno)


ESTO QUIERO QUE TENGA MI PDF.. ES UNA TABLA DEFINIDA DENTRO DE UN LAYAUT NUEVO DEFINIDO POR MI!:.
#vista de generocomprante.html

<center><table width=80% cellpadding="5">
    {{for alu in alumno:}}
    <tr>
        <td align='center'><strong> <hr align= 'LEFT' size="1" width="1000"></stong> </td>
    </tr>
    <tr><td>&nbsp</td></tr>
    <tr><td align='right'>Número de Validación: {{=alu.alumnos.idGenerado}}</td></tr>

        <td> &nbsp&nbsp Queda certificado que el/la  Alumno/a: <strong> {{=alu.alumnos.apellido}} {{=alu.alumnos.nombre}} </strong>, con DNI: <strong> {{=alu.alumnos.nro_doc}} </strong>, domiciliada/o en la ciudad de <strong>{{=alu.ciudad.name}} </strong> .Ha realizado la encuesta correspondiente al año por este medio.</td> 
{{pass}}     
</table></center>
<script>

    jQuery("document").ready(function(){
        window.print();
        location.href="registrar_alumnos";});
</script>


Para quitar esta función imprimir que se ejecuta automáticamente!!

GRACIAS!...

Fernando Villarroel

unread,
Feb 4, 2013, 7:56:37 PM2/4/13
to web2py-...@googlegroups.com
Hola.

Hechale una mirada a PollyReport:

IvanaEmi

unread,
Feb 8, 2013, 7:30:36 PM2/8/13
to web2py-...@googlegroups.com
Estuve probando lo siguiente!:

def generoComprobante():
    from gluon.contrib.pyfpdf import FPDF
    import os
    alumno_id=request.vars.alumno_id
    alumno = relacionAlumno(db.alumnos.id== alumno_id).select()
    title = "This The Doc Title"
    heading = "First Paragraph"
    text=response.render('plantilla.html',dict(alumno=alumno))  /*Aqui necesito pasarle un alumno completo para q me genere el pdf con sus datos*/
   
   
    pdf=FPDF()
    pdf.add_page()
    pdf.set_font('Times','B',15)
    pdf.cell(w=210,h=9,txt=title,border=0,ln=1,align='C',fill=0)
    pdf.set_font('Times','B',15)
    pdf.cell(w=0,h=6,txt=heading,border=0,ln=1,align='L',fill=0)
    pdf.set_font('Times','',12)
    pdf.multi_cell(w=0,h=5,txt=text)

    response.headers['Content-Type']='application/pdf'
    return pdf.output(dest='S')

Y me imprime en PDF (plantilla.html esta definida dentro del escritorio de la VISTA).. pero el problema es, que me imprime los valores de las variables, pero tambien las etiquetas <table><td> etc, es como que no identifica el HTML, por eso me pregunto como puedo pasar valores para genera un PDF sin que se lean las etiquetas en HTML-.- gracias
Reply all
Reply to author
Forward
0 new messages