79799738

Date: 2025-10-25 21:04:48
Score: 0.5
Natty:
Report link

from reportlab.lib.pagesizes import landscape, A3

from reportlab.pdfgen import canvas

from reportlab.lib.units import mm

# Percorso di salvataggio del PDF

pdf_path = "Tavole_4e5_Tipografia.pdf"

c = canvas.Canvas(pdf_path, pagesize=landscape(A3))

# Funzione per disegnare i margini

def draw_margins(x0, y0, width, height, margin):

c.setStrokeColorRGB(0.7, 0.7, 0.7)

c.rect(x0 + margin, y0 + margin, width - 2\*margin, height - 2\*margin)

# Parametri generali

page_w, page_h = landscape(A3)

margin = 20 * mm

# ------------------ TAVOLA 4 ------------------

c.setFont("Helvetica-Bold", 14)

c.drawString(40, page_h - 40, "TAVOLA 4 — GIUSTEZZA (COMPOSIZIONE GIUSTIFICATA)")

draw_margins(0, 0, page_w, page_h, margin)

# Colonne

col_width = (page_w - 2*margin - 20*mm) / 2

y_top = page_h - 80*mm

text_height = 60*mm

# Box sinistra

c.setStrokeColorRGB(0.5, 0.5, 0.5)

c.rect(margin, y_top, col_width, text_height)

c.setFont("Helvetica-Bold", 10)

c.drawString(margin, y_top + text_height + 10, "GIUSTIFICATO CON SILLABAZIONE")

c.setFont("Helvetica", 9)

c.drawString(margin, y_top - 15, "Con la sillabazione attiva, il margine destro è regolare e la lettura risulta fluida.")

# Box destra

x_right = margin + col_width + 20*mm

c.rect(x_right, y_top, col_width, text_height)

c.setFont("Helvetica-Bold", 10)

c.drawString(x_right, y_top + text_height + 10, "GIUSTIFICATO SENZA SILLABAZIONE")

c.setFont("Helvetica", 9)

c.drawString(x_right, y_top - 15, "Senza sillabazione, la spaziatura irregolare crea 'fiumi bianchi' e affatica la lettura.")

# Cartiglio

cart_h = 20*mm

c.setStrokeColorRGB(0.6, 0.6, 0.6)

c.rect(page_w - 100*mm, margin, 90*mm, cart_h)

c.setFont("Helvetica", 8)

c.drawString(page_w - 98*mm, margin + cart_h - 10, "TITOLO: GIUSTEZZA (COMPOSIZIONE GIUSTIFICATA)")

c.drawString(page_w - 98*mm, margin + cart_h - 20, "NOME: __________________ MATERIA: COMPETENZE GRAFICHE DATA: __/__/__")

c.showPage()

# ------------------ TAVOLA 5 ------------------

c.setFont("Helvetica-Bold", 14)

c.drawString(40, page_h - 40, "TAVOLA 5 — ALLINEAMENTO E SILLABAZIONE")

draw_margins(0, 0, page_w, page_h, margin)

# Colonne

col_w = (page_w - 2*margin - 3*15*mm) / 4

y_top = page_h - 80*mm

text_h = 60*mm

alignments = [

"A SINISTRA (BANDIERA DESTRA)",

"A DESTRA (BANDIERA SINISTRA)",

"CENTRATO",

"GIUSTIFICATO (SENZA SILLABAZIONE)"

]

comments = [

"Ideale per testi lunghi come romanzi o articoli.",

"Usato per brevi testi o note a margine.",

"Adatto a titoli o testi brevi.",

"Uniforma i margini ma può generare spazi irregolari."

]

x = margin

for i in range(4):

c.setStrokeColorRGB(0.5, 0.5, 0.5)

c.rect(x, y_top, col_w, text_h)

c.setFont("Helvetica-Bold", 9)

c.drawString(x, y_top + text_h + 10, alignments\[i\])

c.setFont("Helvetica", 8.5)

c.drawString(x, y_top - 15, comments\[i\])

x += col_w + 15\*mm

# Cartiglio

c.setStrokeColorRGB(0.6, 0.6, 0.6)

c.rect(page_w - 100*mm, margin, 90*mm, cart_h)

c.setFont("Helvetica", 8)

c.drawString(page_w - 98*mm, margin + cart_h - 10, "TITOLO: ALLINEAMENTO E SILLABAZIONE")

c.drawString(page_w - 98*mm, margin + cart_h - 20, "NOME: ____________________ MATER

IA: COMPETENZE GRAFICHE DATA: __/__/____")

c.save()

print(f"PDF generato: {pdf_path}")

Reasons:
  • Long answer (-1):
  • Has code block (-0.5):
  • Unregistered user (0.5):
  • Filler text (0.5): ------------------
  • Filler text (0): ------------------
  • Filler text (0): __________________
  • Filler text (0): ------------------
  • Filler text (0): ------------------
  • Filler text (0): ____________________
  • Low reputation (1):
Posted by: Simone