from fpdf import FPDF
# Create a custom PDF class to control margins and auto page break
class CustomPDF(FPDF):
def __init__(self):
super().__init__()
self.set_auto_page_break(auto=True, margin=10)
self.add_page()
self.set_margins(10, 10, 10)
self.set_font("Arial", size=10)
def header(self):
# No header needed for this CV
pass
def footer(self):
# No footer for clean ATS format
pass
def section_title(self, title):
self.set_font("Arial", 'B', 12)
self.set_text_color(40, 40, 100)
[Link](0, 10, title, ln=True)
self.set_text_color(0, 0, 0)
self.set_font("Arial", size=10)
def multi_cell_block(self, text):
self.multi_cell(0, 5, text)
[Link](1)
# Create PDF
pdf = CustomPDF()
# Contact Info
pdf.set_font("Arial", 'B', 14)
[Link](0, 10, "MESNOUA EL HADJ", ln=True, align='C')
pdf.set_font("Arial", '', 10)
[Link](0, 6, "Adresse : Cité Slim 2, Wadi Suley, Chlef, Algérie", ln=True, align='C')
[Link](0, 6, "Téléphone : +213 541 411 716 | Email : imademesnoua@[Link]", ln=True, align='C')
[Link](0, 6, "Nationalité : Algérienne | Né en 1997 | Permis : B – CACES R489 Cat. 3 & 5", ln=True, align='C')
[Link](0, 6, "Taille : 1,93 m | Poids : 87 kg | Morphologie : Musclé", ln=True, align='C')
[Link](5)
# Profil
pdf.section_title("PROFIL")
profil_text = ("Professionnel expérimenté, discipliné et endurant, je possède plus de 7 ans d’expérience en tant que "
"cariste / conducteur de chariot élévateur sur de grands chantiers nationaux. Doté d’un excellent sens "
"de l’organisation, d’une rigueur absolue et d’un esprit d’équipe développé, je suis capable de travailler "
"sous pression et de gérer la logistique des matériaux avec efficacité et sécurité. Physiquement robuste, "
"je m’adapte facilement à des environnements complexes et suis apte à assurer des missions prolongées sur chantier.")
pdf.multi_cell_block(profil_text)
# Experience
pdf.section_title("EXPÉRIENCE PROFESSIONNELLE")
experiences = [
("Conducteur de Chariot Élévateur", "Janvier 2024 – Juin 2025", "Chantier du Grand Alger – Métro Ligne 2, Alger",
"- Manutention et distribution de matériaux lourds.\n- Chargement/déchargement sécurisé sur plateformes élevées.\n- Collaboration avec équipes d’ingénierie."
("Cariste", "Mars 2022 – Décembre 2023", "Hôpital Universitaire de Constantine, Constantine",
"- Approvisionnement des zones de travail.\n- Entretien journalier des engins.\n- Coordination logistique."),
("Conducteur Engins", "Juin 2020 – Février 2022", "Projet Djamaâ El Djazaïr, Alger",
"- Transport de charges sensibles (marbre, vitres).\n- Travail de nuit et en hauteur.\n- Suivi des normes de sécurité."),
("Magasinier / Cariste", "Mai 2017 – Mai 2020", "Dépôt BTP, Oran",
"- Organisation des stocks.\n- Conduite chariots thermiques/électriques.\n- Préparation commandes chantiers.")
]
for title, period, location, duties in experiences:
pdf.set_font("Arial", 'B', 10)
[Link](0, 6, f"{title} | {period}", ln=True)
pdf.set_font("Arial", 'I', 10)
[Link](0, 5, location, ln=True)
pdf.set_font("Arial", '', 10)
pdf.multi_cell(0, 5, duties)
[Link](1)
# Formation
pdf.section_title("FORMATION")
pdf.multi_cell_block("- Baccalauréat en Gestion & Économie | Lycée Al-Ikhwa Saadi, Chlef | 2020\n"
"- Certificat CACES R489 Catégorie 3 & 5 | Institut Formation BTP, Alger | 2017")
# Langues
pdf.section_title("LANGUES")
pdf.multi_cell_block("- Arabe : Langue Maternelle\n- Français : Avancé (C1)\n- Allemand : Intermédiaire (B1)\n"
"- Anglais : Intermédiaire (B1)\n- Espagnol : Débutant avancé (A2)")
# Compétences
pdf.section_title("COMPÉTENCES CLÉS")
pdf.multi_cell_block("- Conduite de chariots élévateurs (thermiques & électriques)\n"
"- Lecture de plans et suivi logistique\n"
"- Chargement / déchargement de camions\n"
"- Maîtrise des normes de sécurité & port des EPI\n"
"- Entretien de premier niveau des engins\n"
"- Travail en horaires décalés & en extérieur")
# Save the file
pdf_path = "/mnt/data/CV_Mesnoua_Conducteur_R489.pdf"
[Link](pdf_path)
pdf_path