Cachina’s Programming Blog


Gerando PDF com Python – Parte 2

Posted in Dicas,PYTHON por Mayron Cachina em julho 4, 2008
Tags: ,

Vamos continuar nosso estudo com o ReportLab. Hoje vamos aprender como formatar Strings no PDF.

Um pequeno exemplo de formatação:

#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Criado >> Mayron Cachina
# Data: 03/07/08
#
# Gerando PDF com PLATYPUS (Page Layout and Typography Using Scripts)
#

from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
from reportlab.platypus import Paragraph, SimpleDocTemplate, Spacer
from reportlab.lib.styles import getSampleStyleSheet

style = getSampleStyleSheet()
pdf = SimpleDocTemplate(“teste.pdf”, pagesize = letter)

fabrica = []

p = Paragraph(“<b>Testando o negrito</b>”, style[“Normal”])
fabrica.append(p)
fabrica.append(Spacer(inch * .2, inch * .2))

p = Paragraph(“<i>Testando o itálico</i>”, style[“Normal”])
fabrica.append(p)
fabrica.append(Spacer(inch * .2, inch * .2))

p = Paragraph(“<u>Testando sublinhado</u>”, style[“Normal”])
fabrica.append(p)
fabrica.append(Spacer(inch * .2, inch * .2))

pdf.build(fabrica)

Usaremos outra abordagem para gerar o PDF, não estamos mais trabalhando com o Canvas, dentro do pacote reportlab.platypus. O SimpleDocTemplate é uma estrutura de documento e o comando build() cria o projeto ao invez do show() como vimos no artigo passado.

Vamor ver um pequeno exemplo de formatação de cores:
formatCor.py
#!/usr/bin/env python
#-*- coding:utf-8 -*-
# Criado >> Mayron Cachina
# Data: 03/07/08
#
# Formatar Cores
#
from reportlab.lib.pagesizes import letter
from reportlab.lib.units import inch
from reportlab.platypus import Paragraph, SimpleDocTemplate, Spacer
from reportlab.lib.styles import getSampleStyleSheet

style = getSampleStyleSheet()
pdf = SimpleDocTemplate(“teste.pdf”, pagesize = letter)

fabrica = []
cores = [‘Red’, ‘Green’, ‘Blue’, ‘Cyan’, ‘Magenta’, ‘Teal’]

for cor in cores:
p = Paragraph(“Isso é %s.” % (cor, cor), style[“Normal”])
fabrica.append(p)
fabrica.append(Spacer(inch * .2, inch * .2))

pdf.build(fabrica)

No próxima parte vamos aprender como inserir imagens e desenhar no pdf.

Uma resposta to 'Gerando PDF com Python – Parte 2'

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

  1. Chrystiano Araujo said,

    Oi..
    Parabens pelos 2 posts sobre reportlab.Muito bom mesmo.

    Estou na espero do terceiro com imagens.


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: