Comment ajouter un en-tête et un pied de page à Word avec Python
Tags: python, word, header, footer
Published: 2023-12-08 03:53:26

Microsoft Word est une application de traitement de texte largement utilisée qui permet aux utilisateurs de créer des documents professionnels. Dans de nombreux cas, l'ajout d'en-têtes et de pieds de page à un document Word est essentiel pour la mise en page, l'ajout d'informations importantes ou l'inclusion de numéros de page. Si vous souhaitez automatiser ce processus à l'aide de Python, vous êtes au bon endroit. Dans cet article, nous explorerons comment **ajouter des en-têtes et des pieds de page à des documents Word en utilisant Python**.

## Prérequis
Avant de commencer, assurez-vous d'avoir les prérequis suivants :

- Python installé sur votre système.
- La bibliothèque [Spire.Doc for Python](https://www.e-iceblue.com/Introduce/doc-for-python.html) installée. Vous pouvez l'installer à l'aide de pip en exécutant la commande suivante :
```python
pip install Spire.Doc
```

## Ajouter un en-tête et un pied de page à Word avec Python

Avec Spire.Doc for Python, vous pouvez ajouter les mêmes en-têtes et pieds de page à un document Word, ajouter des en-têtes et pieds de page différents pour la première page et les autres pages d'un document Word, ou ajouter des en-têtes et pieds de page différents pour les pages impaires et paires d'un document Word.

**Exemple 1. Ajouter les mêmes en-têtes et pieds de page à un document Word avec Python**

L'exemple de code suivant montre comment ajouter les mêmes en-têtes et pieds de page à toutes les pages d'une section dans un document Word en utilisant Python et Spire.Doc for Python :
```python
from spire.doc import *
from spire.doc.common import *

# Créer un objet Document
document = Document()

# Charger un document Word
document.LoadFromFile("Sample.docx")

# Obtenir la première section
section = document.Sections[0]

# Obtenir l'en-tête
header = section.HeadersFooters.Header

# Ajouter un paragraphe à l'en-tête et définir son style d'alignement
headerParagraph = header.AddParagraph()
headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Left

# Ajouter une image au paragraphe de l'en-tête et définir son style d'habillage de texte et sa position
headerPicture = headerParagraph.AppendPicture("Logo.png")
headerPicture.TextWrappingStyle = TextWrappingStyle.Square
headerPicture.VerticalOrigin = VerticalOrigin.Line
headerPicture.VerticalAlignment = ShapeVerticalAlignment.Center

# Ajouter du texte au paragraphe de l'en-tête et définir son style de police
text = headerParagraph.AppendText("E-iceblue Co. Ltd."+ "\nYour Office Development Master")
text.CharacterFormat.FontName = "Arial"
text.CharacterFormat.FontSize = 10
text.CharacterFormat.Bold = True
text.CharacterFormat.TextColor = Color.get_Blue()

# Obtenir le pied de page
footer = section.HeadersFooters.Footer

# Ajouter un paragraphe au pied de page et définir son style d'alignement
footerParagraph = footer.AddParagraph()
footerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center

# Ajouter du texte au paragraphe du pied de page et définir son style de police
text = footerParagraph.AppendText("Copyright © 2013 e-iceblue. All Rights Reserved.")
text.CharacterFormat.FontName = "Arial"
text.CharacterFormat.FontSize = 10

# Définir la bordure du paragraphe du pied de page
footerParagraph.Format.Borders.Top.BorderType = BorderStyle.Single
footerParagraph.Format.Borders.Top.Space = 0.05

# Enregistrer le fichier résultat
document.SaveToFile("HeaderAndFooter.docx", FileFormat.Docx)
document.Close()
```
**Exemple 2. Ajouter des en-têtes et pieds de page différents pour la première page et les autres pages dans Word avec Python**

L'exemple de code suivant montre comment ajouter des en-têtes et pieds de page différents pour la première page et les autres pages d'une section dans un document Word en utilisant Python et Spire.Doc for Python :
```python
from spire.doc import *
from spire.doc.common import *

# Créer un objet Document
doc = Document()

# Charger un document Word
doc.LoadFromFile("Sample.docx")

# Obtenir la première section
section = doc.Sections[0]

# Activer des en-têtes et pieds de page différents pour la première page et les autres pages
section.PageSetup.DifferentFirstPageHeaderFooter = True

# Ajouter un paragraphe à l'en-tête de la première page et définir son style d'alignement
headerParagraph = section.HeadersFooters.FirstPageHeader.AddParagraph()
headerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Right

# Ajouter une image au paragraphe d'en-tête
headerimage = headerParagraph.AppendPicture("E-iceblue.png")

# Ajouter un paragraphe au pied de page de la première page et définir son style d'alignement
footerParagraph = section.HeadersFooters.FirstPageFooter.AddParagraph()
footerParagraph.Format.HorizontalAlignment = HorizontalAlignment.Center

# Ajouter du texte au paragraphe de pied de page et définir son style de police
text = footerParagraph.AppendText("Different First Page Footer")
text.CharacterFormat.FontSize = 11

# Définir l'en-tête et le pied de page pour les autres pages. Si vous n'avez que des en-têtes et pieds de page pour la première page, ne définissez pas cela.
para = section.HeadersFooters.Header.AddParagraph()
para.Format.HorizontalAlignment = HorizontalAlignment.Left
paraText = para.AppendText("A Professional Word Python API")
paraText.CharacterFormat.FontSize = 12
paraText.CharacterFormat.TextColor = Color.get_DeepPink()
para.Format.Borders.Bottom.BorderType = BorderStyle.Single
para.Format.Borders.Bottom.Space = 0.05

paragraph = section.HeadersFooters.Footer.AddParagraph()
paragraph.Format.HorizontalAlignment = HorizontalAlignment.Center
paraText = paragraph.AppendText("E-iceblue Co. Ltd.")
paraText.CharacterFormat.FontSize = 12
paraText.CharacterFormat.Bold = True
paraText.CharacterFormat.TextColor = Color.get_DodgerBlue()

# Enregistrer le document résultant
doc.SaveToFile("DifferentFirstPage.docx", FileFormat.Docx)
doc.Close()
```
**Exemple 3. Ajouter des en-têtes et pieds de page différents pour les pages impaires et paires dans Word avec Python**

L'exemple de code suivant montre comment ajouter des en-têtes et pieds de page différents pour les pages impaires et paires dans une section d'un document Word en utilisant Python et Spire.Doc for Python :
```python
from spire.doc import *
from spire.doc.common import *

# Créer un objet Document
doc = Document()

# Charger un document Word
doc.LoadFromFile("Sample.docx")

# Obtenir la première section
section = doc.Sections[0]

# Activer des en-têtes et pieds de page différents pour les pages impaires et paires
section.PageSetup.DifferentOddAndEvenPagesHeaderFooter = True

# Ajouter des en-têtes et pieds de page aux pages impaires
OHpara = section.HeadersFooters.OddHeader.AddParagraph()
OHtext = OHpara.AppendText("Odd Page Header")
OHpara.Format.HorizontalAlignment = HorizontalAlignment.Center
OHtext.CharacterFormat.FontName = "Arial"
OHtext.CharacterFormat.FontSize = 12
OHtext.CharacterFormat.TextColor = Color.get_Red()

OFpara = section.HeadersFooters.OddFooter.AddParagraph()
OFtext = OFpara.AppendText("Odd Page Footer")
OFpara.Format.HorizontalAlignment = HorizontalAlignment.Center
OFtext.CharacterFormat.FontName = "Arial"
OFtext.CharacterFormat.FontSize = 12
OFtext.CharacterFormat.TextColor = Color.get_Red()

# Ajouter des en-têtes et pieds de page aux pages paires
EHpara = section.HeadersFooters.EvenHeader.AddParagraph()
EHtext = EHpara.AppendText("Even Page Header")
EHpara.Format.HorizontalAlignment = HorizontalAlignment.Center
EHtext.CharacterFormat.FontName = "Arial"
EHtext.CharacterFormat.FontSize = 12
EHtext.CharacterFormat.TextColor = Color.get_Blue()

EFpara = section.HeadersFooters.EvenFooter.AddParagraph()
EFtext = EFpara.AppendText("Even Page Footer")
EFpara.Format.HorizontalAlignment = HorizontalAlignment.Center
EFtext.CharacterFormat.FontName = "Arial"
EFtext.CharacterFormat.FontSize = 12
EFtext.CharacterFormat.TextColor = Color.get_Blue()

# Enregistrer le document résultant
doc.SaveToFile("OddAndEvenHeaderFooter.docx", FileFormat.Docx)
doc.Close()
```
## Conclusion
Dans cet article, vous avez appris comment ajouter des en-têtes et des pieds de page à des documents Word en utilisant Python. En utilisant la bibliothèque Spire.Doc for Python, vous pouvez personnaliser les en-têtes et pieds de page selon vos besoins, qu'il s'agisse d'ajouter du texte, des images ou de définir différents en-têtes et pieds de page pour les premières pages, les autres pages, les pages impaires ou paires. N'hésitez pas à expérimenter et à adapter ces exemples à vos propres besoins.

## Sujets connexes

- [Python : Fusionner des documents Word](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Document-Operation/Python-Merge-Word-Documents.html)
- [Python : Ajouter ou supprimer des zones de texte dans un document Word](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Textbox/Python-Add-or-Remove-Textboxes-in-a-Word-Document.html)
- [Python : Ajouter, supprimer ou répondre à des commentaires dans des documents Word](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Comments/Python-Add-Delete-or-Reply-to-Comments-in-Word-Documents.html)
- [Python : Créer différents types de listes dans un document Word](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/List/Python-Create-Various-Types-of-Lists-in-a-Word-Document.html)
- [Python : Insérer ou supprimer des notes de bas de page dans Word](https://www.e-iceblue.com/Tutorials/Python/Spire.Doc-for-Python/Program-Guide/Footnote/Python-Insert-or-Remove-Footnotes-in-Word.html)