Exibir PDF

11 views
Skip to first unread message

vvsoftware

unread,
Aug 8, 2011, 12:39:04 PM8/8/11
to geraldo-pt
Senhores boa tarde. Estou gerando meu relatório e gerando em um
arquivo pdf, gostaria de saber da possibilidade de após a geração do
arquivo o relatório ser exibido no próprio browser ou abrir no adobe
reader.

No caso estou gerando desta forma o pdf.

report.generate_by(PDFGenerator, filename=os.path.join(cur_dir, 'output
\relarq.pdf'))

Alguém poderia dar alguma sugestão, antecipadamente grato pela
atenção.

Milton Brandão

unread,
Aug 8, 2011, 10:45:04 PM8/8/11
to geral...@googlegroups.com
Tenta algo assim:

resp = HttpResponse(mimetype='application/pdf')
relatorio.generate_by(PDFGenerator, filename=resp)

2011/8/8 vvsoftware <valm...@gmail.com>



--
Milton Neiva Brandão
Raminel Web - Sites, Sistemas Web, Consultoria, ERP, HelpDesk, Suporte Profissional
www.raminel.com.br
(62)3264-1487
con...@raminel.com.br
Twitter: @raminelweb        @miltinhobrandao

MSN: milt...@hotmail.com
GTalk: milt...@gmail.com

vvsoftware

unread,
Aug 9, 2011, 8:05:39 AM8/9/11
to geraldo-pt
Milton estou utilizando web2py, e a classe HttpResponse existe uma
dependencia ao django, importei os pacotes desta forma :

from django.http import HttpResponse

Com isso deu uma mensagem :

ImportError: Settings cannot be imported, because environment
variable DJANGO_SETTINGS_MODULE is undefined.

Teria alguma forma de não referenciar o django ? Só está faltando a
visualização do pdf.

vvsoftware

unread,
Aug 9, 2011, 9:31:37 PM8/9/11
to geraldo-pt
Milton, o Lucas D'Avila deu uma dica que resolveu meu problema, essa
instrução :

response.headers['Content-disposition'] = "attachment; filename=
\"%s\"" % filename

troquei por esta :

response.headers['Content-disposition'] = "inline; filename=\"%s
\"" % filename

desta forma consigo visualizar o pdf no browser, porém só está
faltando, abrir o pdf na aba ao lado, só isso já resolveu muita coisa.
Não precisando importar os pacotes do django.

Milton Brandão

unread,
Aug 9, 2011, 10:21:14 PM8/9/11
to geral...@googlegroups.com
Opa, bacana

Obrigado por esclarecer.
Eu nunca trabalhei com web2py mas fiquei curioso e dei uma olhada. Achei bem interessante. Vou tirar um tempo pra conhecer melhor o framework.

 Bom trabalho.

Valmadson Santos

unread,
Aug 9, 2011, 10:23:50 PM8/9/11
to geral...@googlegroups.com
Você vai ficar surpreso. Estou fazendo um passo-a-passo que estarei
disponibilizando você é citado.

Em 09/08/11, Milton Brandão<milt...@gmail.com> escreveu:


> Opa, bacana
>
> Obrigado por esclarecer.
> Eu nunca trabalhei com web2py mas fiquei curioso e dei uma olhada. Achei bem
> interessante. Vou tirar um tempo pra conhecer melhor o framework.
>
> Bom trabalho.
>
> --
> Milton Neiva Brandão
> Raminel Web - Sites, Sistemas Web, Consultoria, ERP, HelpDesk, Suporte
> Profissional
> www.raminel.com.br

> <http://www.raminel.com.br/>http://alatazan.com/pt-br/

Milton Brandão

unread,
Aug 9, 2011, 10:25:36 PM8/9/11
to geral...@googlegroups.com
Muito bom.

Quando puder mostra pra gente. :)

2011/8/9 Valmadson Santos <valm...@gmail.com>

Valmadson Santos

unread,
Aug 9, 2011, 10:46:22 PM8/9/11
to geral...@googlegroups.com
Você vai gostar, a comunidade web2py vai gostar mais ainda, não é
muita coisa, mais vai ajudar muita gente que está começando.

2011/8/9, Milton Brandão <milt...@gmail.com>:

Marcos Thomaz

unread,
Aug 9, 2011, 12:22:40 AM8/9/11
to geral...@googlegroups.com
No caso, como você usa web2py, teria que ser algo assim:

def seuController_report():
    from reports import ReportPurchase
    from geraldo.generators import PDFGenerator
    import gluon.contenttype
    import StringIO

    resp = StringIO.StringIO()

    yourQuery = #sua consulta
    report = ReportPurchase(queryset=yourQuery)
    report.generate_by(PDFGenerator, filename=resp)

    resp.seek(0)
    response.headers['Content-Type'] = gluon.contenttype.contenttype('.pdf')
    filename = "Relatorio.pdf" 
    response.headers['Content-disposition'] = "attachment; filename=\"%s\"" % filename
    return resp.read()
--


Marcos Thomaz da Silva
Analista de Tecnologia da Informação

Marcos Thomaz

unread,
Aug 9, 2011, 9:12:48 AM8/9/11
to geral...@googlegroups.com
Testou da forma que eu indiquei?

Valmadson Santos

unread,
Aug 16, 2011, 9:52:19 AM8/16/11
to geral...@googlegroups.com
Valeu Marcos, muito obrigado pela dica, inclusive eu já passei a
solução pra lista neste tópico : Relatório no web2py com "Geraldo"

Em 09/08/11, Marcos Thomaz<marcos...@gmail.com> escreveu:

Reply all
Reply to author
Forward
0 new messages