fork download
  1. class PDF(FPDF):
  2. def header(self):
  3. self.set_font('Arial', 'B', 14)
  4. self.cell(0, 10, 'Guía de Equipos de Protección contra Caídas', ln=True, align='C')
  5. self.ln(5)
  6.  
  7. def chapter_title(self, title):
  8. self.set_font('Arial', 'B', 12)
  9. self.set_text_color(30, 30, 30)
  10. self.cell(0, 10, title, ln=True, align='L')
  11. self.ln(2)
  12.  
  13. def chapter_body(self, body):
  14. self.set_font('Arial', '', 11)
  15. self.set_text_color(50, 50, 50)
  16. self.multi_cell(0, 7, body)
  17. self.ln()
  18.  
  19. pdf = PDF()
  20. pdf.add_page()
  21.  
  22. contenido = [
  23. ("1. Introducción a los equipos",
  24. "Los equipos de protección contra caídas son dispositivos diseñados para proteger a los trabajadores que realizan tareas en altura..."),
  25.  
  26. ("2. Descripción de cada componente",
  27. "- Arneses: Sujetan el cuerpo del usuario, distribuyendo la fuerza de una caída.\n"
  28. "- Líneas de vida: Conectan al usuario con el punto de anclaje...\n"
  29. "- Anclajes, cinturones, mosquetones, etc."),
  30.  
  31. ("3. Unidades de medida y resistencia",
  32. "La resistencia se mide principalmente en kilonewtons (kN)...\n"
  33. "- 1 kN ≈ 100 kgf\n- 1 kN ≈ 225 lbf"),
  34.  
  35. ("4. Normas técnicas aplicables",
  36. "Normas importantes:\n- EN 361 (Arnés)\n- EN 362 (Conectores)\n- ANSI Z359...\n- OSHA 1910 / 1926"),
  37.  
  38. ("5. Errores comunes y buenas prácticas",
  39. "- No interpretar bien los valores técnicos.\n- Usar equipos incompatibles...\n- Verificar etiquetas y estado físico."),
  40.  
  41. ("6. Plantilla práctica de revisión",
  42. "Checklist:\n[ ] Arnés certificado\n[ ] Mosquetones seguros\n[ ] Línea de vida correcta\n[ ] Punto de anclaje ≥ 12 kN..."),
  43.  
  44. ("7. Marcas y recursos recomendados",
  45. "Marcas: Petzl, 3M, MSA, Kratos, Skylotec, Honeywell...\nConsulta manuales y videos oficiales.")
  46. ]
  47.  
  48. for titulo, texto in contenido:
  49. pdf.chapter_title(titulo)
  50. pdf.chapter_body(texto)
  51.  
  52. pdf.output("Guia_Equipos_Proteccion_Caidas.pdf")
Success #stdin #stdout 0.02s 26052KB
stdin
Standard input is empty
stdout
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")