Liam Anderson
Posted on December 8, 2023
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 installée. Vous pouvez l'installer à l'aide de pip en exécutant la commande suivante :
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 :
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 :
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 :
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
- Python : Ajouter ou supprimer des zones de texte dans un document Word
- Python : Ajouter, supprimer ou répondre à des commentaires dans des documents Word
- Python : Créer différents types de listes dans un document Word
- Python : Insérer ou supprimer des notes de bas de page dans Word
Posted on December 8, 2023
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.