Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni3 pagine

Crea Modulo - Py

Il documento è uno script Python che utilizza la libreria ReportLab per generare un modulo PDF di autorizzazione per un'uscita scolastica al cinema. Include intestazioni, corpo del testo con dichiarazioni e autorizzazioni, e sezioni per firme e informazioni di contatto della scuola. Il PDF è configurato per avere un logo e dettagli specifici dell'istituto scolastico, con margini e formattazione appropriati.

Caricato da

vlady.soroka
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
6 visualizzazioni3 pagine

Crea Modulo - Py

Il documento è uno script Python che utilizza la libreria ReportLab per generare un modulo PDF di autorizzazione per un'uscita scolastica al cinema. Include intestazioni, corpo del testo con dichiarazioni e autorizzazioni, e sezioni per firme e informazioni di contatto della scuola. Il PDF è configurato per avere un logo e dettagli specifici dell'istituto scolastico, con margini e formattazione appropriati.

Caricato da

vlady.soroka
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato TXT, PDF, TXT o leggi online su Scribd

from reportlab.

pdfgen import canvas


from [Link] import A4
from [Link] import cm
from [Link] import colors
import os

# --- CONFIGURAZIONE ---


OUTPUT_FILENAME = "Modulo_Uscita_Cinema.pdf"
LOGO_PATH = "logo_scuola.jpg" # Sostituisci con il nome del tuo file se ne hai uno
# ----------------------

def create_pdf():
c = [Link](OUTPUT_FILENAME, pagesize=A4)
width, height = A4

# Margini
left_margin = 2 * cm
right_margin = width - 2 * cm
center_x = width / 2

# Punto di partenza Y
y_position = height - 2 * cm

# ================= HEADER & LOGO =================


logo_width = 2.5 * cm
logo_height = 2.5 * cm
logo_x = left_margin
logo_y = y_position - logo_height + 0.5*cm

# Gestione immagine Logo


if [Link](LOGO_PATH):
try:
[Link](LOGO_PATH, logo_x, logo_y, width=logo_width,
height=logo_height, preserveAspectRatio=True, mask='auto')
except Exception as e:
print(f"Errore: {e}")
[Link](logo_x, logo_y, logo_width, logo_height)
else:
# Placeholder se manca il logo
[Link]([Link])
[Link](logo_x, logo_y, logo_width, logo_height)
[Link]("Helvetica", 8)
[Link]([Link])
[Link](logo_x + logo_width/2, logo_y + logo_height/2, "LOGO")

# Testo Intestazione
text_x_start = left_margin + logo_width + 0.5*cm

[Link]([Link])
[Link]("Helvetica-Bold", 14)
[Link](text_x_start, y_position, "LICEO SCIENTIFICO STATALE “A. NOBEL”")
y_position -= 0.6 * cm
[Link]("Helvetica-Bold", 12)
[Link](text_x_start, y_position, "Torre del Greco (NA)")
y_position -= 0.7 * cm
[Link]("Helvetica", 9)
[Link](text_x_start, y_position, "INDIRIZZI: TRADIZIONALE - SCIENZE
APPLICATE - LICEO LINGUISTICO")
y_position -= 0.5 * cm
[Link](text_x_start, y_position, "DISTRETTO SCOLASTICO n.36")

y_position -= 1 * cm
[Link]([Link])
[Link](left_margin, y_position, right_margin, y_position)

# ================= CORPO DEL TESTO =================


y_position -= 2 * cm

[Link]("Helvetica", 11)
[Link](left_margin, y_position, "Il/La sottoscritto/a
____________________________________, genitore/tutore dell’alunno/a")
y_position -= 0.8 * cm
[Link](left_margin, y_position, "____________________________________,")

y_position -= 1.5 * cm
[Link]("Helvetica-Bold", 12)
[Link](center_x, y_position, "DICHIARA")

y_position -= 1 * cm
[Link]("Helvetica", 11)
[Link](left_margin, y_position, "di essere a conoscenza che in data
03/12/2025 il proprio figlio/la propria figlia si recherà,")
y_position -= 0.6 * cm
[Link](left_margin, y_position, "accompagnato/a dalla scuola, presso il
Cinema Corallo Multisala – Torre del Greco per la")
y_position -= 0.6 * cm
[Link](left_margin, y_position, "visione di un film scelto
dall’Istituto.")

y_position -= 1.5 * cm
[Link]("Helvetica-Bold", 12)
[Link](center_x, y_position, "AUTORIZZA")
y_position -= 1 * cm
[Link]("Helvetica", 11)
[Link](center_x, y_position, "la partecipazione dell’alunno/a
all’attività sopra indicata.")

y_position -= 1.5 * cm
[Link]("Helvetica-Bold", 12)
[Link](center_x, y_position, "SOLLEVA")
y_position -= 1 * cm
[Link]("Helvetica", 11)
[Link](left_margin, y_position, "i docenti accompagnatori e l’Istituto da
ogni responsabilità per eventuali comportamenti non")
y_position -= 0.6 * cm
[Link](left_margin, y_position, "conformi del proprio figlio/a o per
situazioni indipendenti dal controllo dell’Istituto stesso,")
y_position -= 0.6 * cm
[Link](left_margin, y_position, "fermo restando il normale dovere di
vigilanza da parte del personale scolastico.")

# ================= FIRME (MODIFICATO) =================


y_position -= 2.0 * cm # Spazio dopo il testo

# 1. Data (Sinistra)
[Link]("Helvetica", 11)
[Link](left_margin, y_position, "Data: __________________")
# 2. Firma Genitore (Sotto la data, distanziata)
y_position -= 2.0 * cm
[Link](left_margin, y_position, "Firma del genitore/tutore:
______________________")

# 3. Dirigente Scolastico (ANCORA PIU' SOTTO, Allineato a destra)


y_position -= 3.0 * cm

# Calcolo posizione X per il blocco dirigente (verso destra)


dirigente_x = width - 6.5 * cm

[Link]("Helvetica-Bold", 10)
[Link](dirigente_x, y_position, "IL DIRIGENTE SCOLASTICO")
y_position -= 0.5 * cm
[Link]("Helvetica", 10)
[Link](dirigente_x, y_position, "(Avv. Annunziata Langella)")
y_position -= 0.5 * cm
[Link]("Helvetica-Oblique", 7) # Font più piccolo per la dicitura legale
[Link](dirigente_x, y_position, "(Firma autografa sostituita a
mezzo stampa ai sensi")
y_position -= 0.3 * cm
[Link](dirigente_x, y_position, "dell’articolo 3, comma 2, del
[Link] n. 39 del 1993)")

# ================= FOOTER =================


footer_y = 2.5 * cm
[Link]([Link])
[Link](0.5)
[Link](left_margin, footer_y + 0.3*cm, right_margin, footer_y + 0.3*cm)

[Link]("Helvetica-Bold", 8)
[Link](center_x, footer_y, "Via De Gasperi, 80/bis - 80059 TORRE
DEL GRECO(NA)")
footer_y -= 0.4 * cm
[Link]("Helvetica", 8)
[Link](center_x, footer_y, "C.M. NAPS130007 - C.F. 80060960632 -
tel. 081 881.23.20 fax 081 881.54.72 – Vicepresidenza 081 362.51.37")
footer_y -= 0.4 * cm
[Link](center_x, footer_y, "PEC naps130007@[Link] -
mail: naps130007@[Link] - web: [Link]")
footer_y -= 0.4 * cm
[Link](center_x, footer_y, "IBAN IT 78 T 05142 40305 T21050000615
Conto Corrente Postale n°21715800")

[Link]()
print(f"PDF creato con successo: {OUTPUT_FILENAME}")

if __name__ == "__main__":
create_pdf()

Potrebbero piacerti anche