from reportlab.platypus import SimpleDocTemplate, Paragraph from reportlab.lib.styles import getSampleStyleSheet from reportlab.pdfbase import pdfmetrics from reportlab.pdfbase.ttfonts import TTFont import os # Register a Unicode font if available font_name="Helvetica" for path in ["/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", "/usr/share/fonts/truetype/liberation2/LiberationSans-Regular.ttf"]: if os.path.exists(path): pdfmetrics.registerFont(TTFont("Custom", path)) font_name="Custom" break styles=getSampleStyleSheet() for s in styles.byName.values(): s.fontName=font_name doc=SimpleDocTemplate("/mnt/data/CV_Adrien_Ruffiot_Modernise.pdf") story=[] story.append(Paragraph("ADRIEN RUFFIOT",styles["Title"])) story.append(Paragraph("Animateur • Producteur Radio • Responsable Digital",styles["Heading2"])) story.append(Paragraph( "Animateur, producteur et réalisateur radio avec plus de 10 ans d'expérience. " "Polyvalent, j'ai exercé les fonctions d'animateur, réalisateur, technicien, " "programmateur musical, planificateur publicitaire et responsable digital.", styles["BodyText"])) story.append(Paragraph("Expériences professionnelles",styles["Heading1"])) items=[ ("Juillet 2025 – Juin 2026","Animateur Producteur Radio – Radio Star / Responsable Digital – Soprodi", "Animation d'émissions, production, réalisation, développement digital et gestion des contenus web."), ("Octobre 2019 – Octobre 2022","Animateur • Technicien • Réalisateur – Oxygène","Animation, réalisation, production et programmation."), ("Septembre 2012 – Octobre 2019","Animateur • Technicien • Réalisateur – APIC","Polyvalence sur l'ensemble des métiers de la radio."), ("Septembre 2011 – Septembre 2012","Animateur • Technicien • Réalisateur – Vallée FM","Première expérience professionnelle.") ] for d,t,desc in items: story.append(Paragraph(f"{d}
{t}
{desc}",styles["BodyText"])) story.append(Paragraph("Compétences",styles["Heading1"])) story.append(Paragraph("Animation radio • Production • Réalisation • Interview • Programmation musicale • Communication digitale • Gestion de sites web • Création de contenus • Actualité • Coordination de projets",styles["BodyText"])) story.append(Paragraph("Formation",styles["Heading1"])) story.append(Paragraph("Bac Professionnel Électrotechnique (2012)
Brevet des collèges (selon le CV fourni)",styles["BodyText"])) doc.build(story) print("/mnt/data/CV_Adrien_Ruffiot_Modernise.pdf")