3. 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;
4. 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
8. 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
13. 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