LEZIONE 1..
PYTHON AVANZATO
libreria
REPORTLAB
Riepilogo lezione precedente
Pyplot
.figure
.plot
SET
GET
.xaxis
.yaxis
.get_major_ticks
.set_label_text
.set_xlabel
.add_subplot
Reportlab
Reportlab è un programma per la creazione di documenti pdf
con python.
Un documento può essere visto come la composizione di
contenuti scritti all'interno di uno spazio.
Un programma per la creazione di documenti deve gestire due
macro aree:
a) come posizionare i vari contenuti all’interno dello spazio;
b) quale aspetto dare ai diversi contenuti;
Posizione per
riferimento logico:
titolo, header, footer,
capoverso, ecc.
ad esempio word o
writer
Posizione fisica,
definendo le
coordinate all’interno
di un sistema
cartesiano
ad esempio
matplotlib
Come posizionare i vari contenuti all’interno di uno spazio
Posizionamento
logico
Posizionamento
cartesiano
classe
Canvas
libreria
platiplus
classe
Flowable
LEZIONE 1..
www.fordatascientist.org
N00-ReportLab
N01-Introduction.ipynb
.Canvas
.drawString
.line
.pagesize
letter A4 A5
.circle
Posizionamento Logico: gestione contenuti
Template A
pagesize[0]
pagesize[1]
SimpleDocTemplate
Area
conte-
nuti .build
[
]
Paragraph 1
Paragraph 2
Spazio
Paragraph 3
Image 1
Spazio
Paragraph 4
………
……….
Spazio
Paragraph n
Spazio
Table 1
Spazio
Table 2
Paragraph
Image
Spacer
Table
Template A
Paragraph 1
Paragraph 2
Spazio
Paragraph 3
Template A
Image 1
Spazio
Paragraph 4
Template A
Spazio
Paragraph n
Spazio
Table 1
Template A
Spazio
Table 2
LEZIONE 1..
www.fordatascientist.org
N00-ReportLab
N03-SimpleDocument.ipynb
.getSampleStyleSheet
.Paragraph(‘contenuto’,stile)
configurazione stili
.Image(file)
.Table([[..],[..]])
.build
LEZIONE 1..
www.fordatascientist.org
N00-ReportLab
N05-SimpleDocumentTemplate.ipynb
.onFirstPage
.def…. (.Canvas, SimpleDocTemplate
SimpleDocTemplate)
.build
.onLaterPages
[..contenuti....]
Gestione template e contenuti personalizzati
Template tramite
funzioni
def…..(Canvas,
SipleDocTemplate)
Contenuti
personalizzati tramite
classe derivata da
Flowable, definendo
def __init__
def __repr__
def draw
LEZIONE 1..
www.fordatascientist.org
N00-ReportLab
N30-CustomFlowables.ipynb
Tabelle
1
3
0
0 1
2
2 3
-1
-1-2
(1,0),(3,2)
(0,-2),(-1,-1)
TableStyle
'ALIGN'
'VALIGN'
'TEXTCOLOR’
'INNERGRID'
‘LINEAFTER’
‘LINEBELOW’.
‘LINEABOVE’
LEZIONE 1..
www.fordatascientist.org
N00-ReportLab
N08-Table.ipynb
Stili standard stili personalizzati
Parent
NewStyle
Attributi
ParagraphStyle
getSampleStyleSheet
‘Normal’
‘Bullet’
‘Italic’
‘Title’
ParagraphStyle
.defaults
LEZIONE 1..
www.fordatascientist.org
N00-ReportLab
N09-Style.ipynb
CONTATTI TELEFONO
051 22 35 20
EMAIL
WORKSHOP@VICEM.IT

Fordascientist - Python reportlab