class PDF(FPDF):
def header(self):
self.set_font('Arial', 'B', 14)
self.cell(0, 10, 'Guía de Equipos de Protección contra Caídas', ln=True, align='C')
self.ln(5)
def chapter_title(self, title):
self.set_font('Arial', 'B', 12)
self.set_text_color(30, 30, 30)
self.cell(0, 10, title, ln=True, align='L')
self.ln(2)
def chapter_body(self, body):
self.set_font('Arial', '', 11)
self.set_text_color(50, 50, 50)
self.multi_cell(0, 7, body)
self.ln()
pdf = PDF()
pdf.add_page()
contenido = [
("1. Introducción a los equipos",
"Los equipos de protección contra caídas son dispositivos diseñados para proteger a los trabajadores que realizan tareas en altura..."),
("2. Descripción de cada componente",
"- Arneses: Sujetan el cuerpo del usuario, distribuyendo la fuerza de una caída.\n"
"- Líneas de vida: Conectan al usuario con el punto de anclaje...\n"
"- Anclajes, cinturones, mosquetones, etc."),
("3. Unidades de medida y resistencia",
"La resistencia se mide principalmente en kilonewtons (kN)...\n"
"- 1 kN ≈ 100 kgf\n- 1 kN ≈ 225 lbf"),
("4. Normas técnicas aplicables",
"Normas importantes:\n- EN 361 (Arnés)\n- EN 362 (Conectores)\n- ANSI Z359...\n- OSHA 1910 / 1926"),
("5. Errores comunes y buenas prácticas",
"- No interpretar bien los valores técnicos.\n- Usar equipos incompatibles...\n- Verificar etiquetas y estado físico."),
("6. Plantilla práctica de revisión",
"Checklist:\n[ ] Arnés certificado\n[ ] Mosquetones seguros\n[ ] Línea de vida correcta\n[ ] Punto de anclaje ≥ 12 kN..."),
("7. Marcas y recursos recomendados",
"Marcas: Petzl, 3M, MSA, Kratos, Skylotec, Honeywell...\nConsulta manuales y videos oficiales.")
]
for titulo, texto in contenido:
pdf.chapter_title(titulo)
pdf.chapter_body(texto)
pdf.output("Guia_Equipos_Proteccion_Caidas.pdf")