Abrir imagem pra servir de marca d'agua em um PDF

12 views
Skip to first unread message

André Paolino

unread,
Jan 26, 2012, 6:22:34 PM1/26/12
to Django Brasil
Eu gero vários PDFs no sistema, e esse PDFs tem uma imagem que serve
como marca d'água, meu código pra gerar a marca d'água é esse:

def watermark(nome=None, pagesize = None, grupo = None):
if grupo == None:
arquivo = 'media/img/generico.gif'
elif grupo.watermark == None:
arquivo = 'media/img/generico.gif'
else:
arquivo = grupo.watermark

p = canvas.Canvas(nome, pagesize = pagesize)
p.setFillGray(0.5,0.5)
if pagesize == landscape(A4):
p.drawImage(arquivo, 250, 50)
else:
p.drawImage(str(arquivo), 100, 150)
p.setFillColor('black')
p.save()
return nome

Isso gera um PDF com a imagem que eu quero depois eu mesclo com o PDF
do conteúdo pra ficar com a marca, e isso funciona no meu computador,
mas no servidor de produção da um erro quando tenta abrir a imagem:

IOError at /formularios/relatorio_banca/
Cannot open resource "/media/img/generico.gif"
Se alguém ai puder me ajudar com isso ficaria muito agradecido.

Manuel Gonçalves da Silva Neto

unread,
Jan 26, 2012, 6:39:43 PM1/26/12
to django-brasil

André , observe o erro com atenção e verá que ele esta buscando um arquivo em /media e não no diretorio corrente, uma boa pratica  ao trabalhar com arquivos em diferentes  servidores é usar  os.path.join() com o diretorio corrente + arquivo , desta forma ele não trará errros ao localizar seus arquivos no servidor de produção.
 

Atenciosamente:
                 Manuel  Gonçalves

      


> Date: Thu, 26 Jan 2012 15:22:34 -0800
> Subject: Abrir imagem pra servir de marca d'agua em um PDF
> From: andre....@jetty.com.br
> To: django...@googlegroups.com
> --
> Django Brasil em Google Groups <http://groups.google.com.br/group/django-brasil>
> Associe-se à Python Brasil e suporte nossa comunidade! <http://associacao.python.org.br/>
Reply all
Reply to author
Forward
0 new messages