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()