Untitled

 avatar
unknown
plain_text
19 days ago
1.8 kB
3
Indexable
from fpdf import FPDF

# Dati dei turni
giorni = ["Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"]

early = [
    ["Ernesto", "Luca", "Elena"],
    ["Stavros", "Sara", "Simone"],
    ["Ernesto", "Paolo", "Sara"],
    ["Stavros", "Elena", "Anna"],
    ["Ernesto", "Sara", "Davide"],
    ["Stavros", "Luca", "Martina"],
    ["Ernesto", "Anna", "Simone"]
]

late = [
    ["Stavros", "Paolo", "Anna", "Davide"],
    ["Ernesto", "Elena", "Davide", "Martina"],
    ["Stavros", "Luca", "Anna", "Martina"],
    ["Ernesto", "Paolo", "Simone", "Davide"],
    ["Stavros", "Elena", "Paolo", "Simone"],
    ["Ernesto", "Sara", "Paolo", "Elena"],
    ["Stavros", "Luca", "Sara", "Martina"]
]

riposo = [
    ["Sara", "Martina", "Simone"],
    ["Luca", "Paolo", "Anna"],
    ["Elena", "Davide", "Simone"],
    ["Sara", "Luca", "Martina"],
    ["Luca", "Anna", "Martina"],
    ["Anna", "Simone", "Davide"],
    ["Elena", "Paolo", "Davide"]
]

# Creazione del PDF
class PDF(FPDF):
    def header(self):
        self.set_font("Arial", "B", 12)
        self.cell(0, 10, "Orario Settimanale dei Turni", ln=True, align="C")
        self.ln(5)

    def chapter_title(self, day):
        self.set_font("Arial", "B", 11)
        self.cell(0, 8, day, ln=True)
    
    def chapter_body(self, early, late, riposo):
        self.set_font("Arial", "", 10)
        self.cell(0, 6, f"Turno Early (09:00-17:30): {early}", ln=True)
        self.cell(0, 6, f"Turno Late (11:00-19:30): {late}", ln=True)
        self.cell(0, 6, f"Riposo: {riposo}", ln=True)
        self.ln(4)

pdf = PDF()
pdf.set_auto_page_break(auto=True, margin=15)
pdf.add_page()

for i in range(len(giorni)):
    pdf.chapter_title(giorni[i])
    pdf.chapter_body("; ".join(early[i]), "; ".join(late[i]), "; ".join(riposo[i]))

pdf.output("Orario_settimanale_turni.pdf")
Editor is loading...
Leave a Comment