Cachina’s Programming Blog


Gerando PDF com Python – Parte 1

Posted in PYTHON,Séries por Mayron Cachina em julho 1, 2008
Tags: , , ,

Olá pessoa, hoje vamos começar uma série de um tutorial passo a passo de geração de PDF em Python usando o ReportLab, uma biblioteca Open Source que vai nos auxiliar.

Primeiro temos que baixar a biblioteca, atualmente ela está na versão 2.1.
Visite o site abaixo e faça o download:

http://www.reportlab.org/downloads.html

Descompacte em uma pasta de sua preferência e execute o comando:
python setup.py install

Pronto após isso temos a biblioteca pronta para ser usada.
Abra seu editor de texto preferido (Gedit, vim, vi, notepad :D) e crie um arquivo .py para podermos fazer nossos testes…
Essa é a estrutura básica que sempre usaremos para montar nossos scripts de geração de PDF.
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import cm, mm, inch, pica
pdf = Canvas("teste.pdf", pagesize = letter) #Nome do arquivo e Tipo do papel
'''
#CONTEÚDO
'''
pdf.showPage()
pdf.save()


A seguir vamos fazer um pequeno exemplo para entender o funcionamento da API.
relatorio.py

#!/usr/bin/env python
#-*- coding:utf-8 -*-

from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import cm, mm, inch, pica
pdf = Canvas(“teste.pdf”, pagesize = letter) #Nome do arquivo e Tipo do papel
pdf.setFont(“Courier”,12) #Seta a fonte para Courier tamanho 12
pdf.setStrokeColorRGB(1, 0, 0)
pdf.drawString(0, 0, “MEU PRIMEIRO PDF”) #Escreve o texto na posição (0,0) = (x,y)
pdf.drawString(2 * inch, inch, “https://cachina.wordpress.com”)
pdf.showPage()
pdf.save()

Com isso podemos executar o script para vermos o resultado, com o comando:
python relatorio.py

Se você prestou atenção nós importamos algumas variáveis com as medidas das páginas, são elas:

>>>> cm
28.346456692913385
>>> mm
2.8346456692913389
>>> pica
12.0
>>> inch
72.0
>>> letter
(612.0, 792.0)

Eles nós ajudaram a organizar as coordenadas no PDF.

Para complementar vamos criar um script onde escreveremos os nomes um abaixo do outro:
#!/usr/bin/env python
#-*- coding:utf-8 -*-
from reportlab.pdfgen.canvas import Canvas
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import cm, mm, inch, pica
pdf = Canvas("teste.pdf", pagesize = letter) #Nome do arquivo e Tipo do papel
tupla = ('Mayron Cachina', 'José Ustra', 'José Frank', 'Ana Cláudia', 'Karen Velasquez')
lista = pdf.beginText(inch * 1, inch * 10)
for i in range(0,len(tupla)):
lista.textLine(tupla[i])
pdf.drawText(lista)
pdf.showPage()
pdf.save()

Com isso se encerra a primeira parte desse tutorial. Logo estarei colocando a segunda parte…
Comentem e coloquem seus códigos aqui😀

4 Respostas to 'Gerando PDF com Python – Parte 1'

Subscribe to comments with RSS ou TrackBack to 'Gerando PDF com Python – Parte 1'.

  1. douglas said,

    cara ..
    ótimo tutoriallll
    consegui gerar os pdfs tranquilamente com essa base que voce passou..

    mas cabe deixar aos mais novos .. apenas arrumarem as aspas
    que no codigo que voce deixou estao com aspas duplas, mas o correto sao aspas simples , mas o poste foi 10 simples e rapido …

    vlw

  2. Max said,

    Muito legal….
    Consegui fazer os pdfs, mas tenho uma dúvida, como posso fazer ele gerar um pdf incluindo um arquivo texto

  3. daniel said,

    Legal a tradução do original que tem no devshed

    • me said,

      Sempre tem um xarope…


Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s


%d blogueiros gostam disto: