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")