# đ Export PDF Livre - Guide Complet
SystÚme de génération de PDF professionnel avec mise en page type livre pour votre template d'article scientifique.
## đŻ Objectif
Créer des PDFs de qualité professionnelle avec :
- Typographie soignée (Georgia, justification, césure)
- Marges asymétriques pour reliure
- Running headers avec titres de chapitres
- Numérotation de pages gauche/droite
- Gestion veuves et orphelines
- Style livre académique/éditorial
## đŠ Ce qui a Ă©tĂ© créé
### Fichiers créés
```
app/
âââ scripts/
â âââ export-pdf-book.mjs â Version avec Paged.js (avancĂ©e, en cours)
â âââ export-pdf-book-simple.mjs â Version simple (RECOMMANDĂE â
)
â âââ EXPORT-PDF-BOOK.md â Documentation dĂ©taillĂ©e
âââ src/
âââ styles/
âââ _print-book.css â Styles CSS Paged Media
```
### Commandes npm ajoutées
```json
{
"export:pdf:book": "Version Paged.js (expérimentale)",
"export:pdf:book:simple": "Version simple (stable â
)"
}
```
## đ Utilisation
### Commande recommandée
```bash
npm run export:pdf:book:simple
```
Le PDF sera généré dans :
- `dist/article-book.pdf`
- `public/article-book.pdf` (copie automatique)
### Options disponibles
```bash
# ThĂšme sombre
npm run export:pdf:book:simple -- --theme=dark
# Format Letter
npm run export:pdf:book:simple -- --format=Letter
# Nom personnalisé
npm run export:pdf:book:simple -- --filename=ma-these
# Combinaison
npm run export:pdf:book:simple -- --theme=light --format=A4 --filename=livre
```
## đš CaractĂ©ristiques du style livre
### Marges
```
Pages droites (recto) â Pages gauches (verso)
â
20mm âââ â âââ 25mm
â â â
âââââââââŽâââââââ â ââââââââŽââââââââ
â â â â â
â CONTENU â â â CONTENU â
â â â â â
ââââââââââââââââ â ââââââââââââââââ
25mm â 20mm
(reliure) â (reliure)
```
### Typographie
- **Police** : Georgia, Palatino (serif)
- **Taille** : 11pt
- **Interlignage** : 1.6
- **Alignement** : Justifié avec césure automatique
- **Retrait** : 5mm pour les paragraphes suivants
### Titres
```css
H2 (Chapitres) â 18pt, numĂ©rotĂ©s (1. 2. 3.)
H3 (Sections) â 14pt, numĂ©rotĂ©s (1.1, 1.2)
H4 (Sous-sections) â 12pt
```
### Compteurs automatiques
- Chapitres : 1, 2, 3...
- Sections : 1.1, 1.2, 2.1...
- Figures : Figure 1.1, Figure 1.2...
- Tableaux : idem
## đ Configuration CSS
Le fichier `_print-book.css` contient tous les styles. Vous pouvez personnaliser :
### Changer les polices
```css
body {
font-family: "Baskerville", "Georgia", serif;
font-size: 12pt;
}
```
### Ajuster les marges
```css
@page {
margin-top: 25mm;
margin-bottom: 30mm;
}
@page :left {
margin-left: 18mm;
margin-right: 30mm;
}
```
### Personnaliser les headers
```css
@page :left {
@top-left {
content: string(chapter-title);
font-size: 10pt;
color: #333;
}
}
```
### Forcer un saut de page
Dans votre MDX :
```mdx
## Chapitre 1
Contenu...
---
## Chapitre 2 (nouvelle page)
```
Ou avec CSS :
```css
.new-chapter {
break-before: page;
}
```
## đ Comparaison des versions
| Fonctionnalité | Simple | Paged.js |
|----------------|--------|----------|
| **StabilitĂ©** | â
Excellente | â ïž En cours |
| **Vitesse** | â
Rapide | â±ïž Plus lent |
| **Setup** | â
Aucun | đŠ Paged.js requis |
| **Marges reliure** | â
| â
|
| **Running headers** | â ïž LimitĂ© | â
Avancé |
| **Notes de bas de page** | â | â
|
| **Table matiĂšres auto** | â | â
|
| **QualitĂ© typo** | ââââ | âââââ |
### Quand utiliser quelle version ?
**Version Simple** (recommandée) :
- â
Pour la plupart des cas d'usage
- â
Stabilité prioritaire
- â
Génération rapide
- â
Résultats prévisibles
**Version Paged.js** (expérimentale) :
- đŹ Pour tester les fonctionnalitĂ©s avancĂ©es
- đ Si vous avez besoin de notes de bas de page
- đ Pour des tables des matiĂšres gĂ©nĂ©rĂ©es automatiquement
- â ïž NĂ©cessite plus de tests
## đ DĂ©pannage
### Le PDF est vide
```bash
# Reconstruire d'abord
npm run build
npm run export:pdf:book:simple
```
### Les images manquent
Vérifiez que les chemins sont absolus :
```html
```
### Les graphiques sont coupés
Dans `_print-book.css`, ajoutez :
```css
.your-chart {
max-height: 200mm;
break-inside: avoid;
}
```
### Port 8080 déjà utilisé
```bash
PREVIEW_PORT=8081 npm run export:pdf:book:simple
```
## đ Prochaines Ă©tapes
### Améliorations possibles
1. **Finaliser Paged.js** pour les fonctionnalités avancées
2. **Table des matiÚres automatique** avec numéros de page
3. **Index** généré automatiquement
4. **Références croisées** (Voir Figure 2.3, etc.)
5. **Templates prédéfinis** :
- ThÚse académique
- Rapport technique
- Livre scientifique
- Documentation
### Contribuer
Les styles sont dans `_print-book.css`. Pour proposer des améliorations :
1. Testez avec votre contenu
2. Modifiez le CSS
3. Générez le PDF
4. Partagez vos modifications !
## đ Ressources
### CSS Paged Media
- [W3C Spec](https://www.w3.org/TR/css-page-3/)
- [CSS Tricks Guide](https://css-tricks.com/css-paged-media-guide/)
- [Print CSS Documentation](https://www.smashingmagazine.com/2015/01/designing-for-print-with-css/)
### Paged.js
- [Documentation](https://pagedjs.org/documentation/)
- [Exemples](https://pagedjs.org/examples/)
- [W3C Paged Media](https://www.w3.org/TR/css-page-3/)
### Typographie de livre
- [Butterick's Practical Typography](https://practicaltypography.com/)
- [The Elements of Typographic Style](http://webtypography.net/)
## đĄ Cas d'usage
Ce systÚme est idéal pour :
- đ **ThĂšses de doctorat**
- đ **MĂ©moires de master**
- đ **Rapports de recherche**
- đ **Documentation technique**
- đ **Livres blancs**
- đ **Livres auto-publiĂ©s**
- đ **Collections d'articles**
## đ RĂ©sultat
Avec ce systĂšme, vous obtenez :
â
**PDF prĂȘt pour l'impression**
- Marges correctes pour reliure
- Typographie professionnelle
- Mise en page cohérente
â
**Qualité éditoriale**
- Numérotation automatique
- Gestion des veuves/orphelines
- Césure propre
â
**Workflow moderne**
- Ăcriture en MDX
- Build automatisé
- Un seul fichier source
---
**Créé avec â€ïž pour le Research Article Template**
*Profitez de votre nouveau systĂšme d'export PDF livre !* đâš