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
Top comments (0)