---
name: pdf-rendering
description: Rendu de documents PDF professionnels à partir de templates HTML/CSS. Utilisez ce skill pour générer les documents maîtres d'un examen SAMS (CONSIGNES, MISE_EN_SITUATION, INDEX, CORRIGÉ) ou transformer des formulaires HTML en PDF.
---

# pdf-rendering

Ce skill permet de transformer des structures HTML/CSS en documents PDF de qualité bureautique, respectant l'identité visuelle de l'EHPAD "L'Art du Temps" ou d'autres structures simulées.

## 1. Fonctionnalités

*   **Génération de documents maîtres :** Mise en page avec logos, en-têtes et pieds de page.
*   **Injection de données :** Utilisation de Jinja2 pour injecter les variables de l'examen (noms, dates, consignes).
*   **Styles SAMS :** Application de CSS spécifiques pour un rendu "document administratif" réaliste.

## 2. Outils & Dépendances

Le skill s'appuie sur le script Python `scripts/render_pdf.py`.
Il nécessite la bibliothèque `WeasyPrint` (installation recommandée : `pip install WeasyPrint`).

## 3. Workflow de Rendu

1.  **Préparation du HTML :** Créez ou utilisez un template dans `assets/templates/`.
2.  **Préparation des données :** Rassemblez les données (JSON ou dictionnaire Python).
3.  **Appel du script :**
    ```bash
    python .agents/skills/pdf-rendering/scripts/render_pdf.py --template <path_to_html> --data <path_to_json> --output <path_to_pdf>
    ```

## 4. Templates disponibles

*   `assets/templates/consignes.html` : Template pour les mails et tâches.
*   `assets/templates/mise_en_situation.html` : Template pour le contexte et les procédures.
*   `assets/templates/resources_index.html` : Template pour la liste des fichiers.

## 5. CSS de Référence

Consultez `references/sams_styles.css` pour les classes CSS à utiliser (ex: `.ehpad-header`, `.signature-box`, `.task-card`).

## 6. Conseils de Réalisme

*   **Logos :** Toujours inclure le logo de la structure (asset image).
*   **Polices :** Utiliser des polices standards (Arial, Helvetica, Times New Roman) pour le corps de texte.
*   **Signatures :** Utiliser la classe `.signature` pour simuler une signature manuelle.
