IRONSOFTWAREHOME
Ajouter des en-têtes/pieds de page sur des pages spécifiques
from ironpdf import *

# Instantiate Renderer
renderer = ChromePdfRenderer()

multi_page_html = """
    <p> This is 1st Page</p>
        <div style = 'page-break-after: always;' ></div>
        <p> This is 2nd Page</p>
    <div style = 'page-break-after: always;' ></div>
        <p> This is 3rd Page</p>
    <div style = 'page-break-after: always;' ></div>
        <p> This is 4th Page</p>
    <div style = 'page-break-after: always;' ></div>
        <p> This is 5th Page</p>
    <div style = 'page-break-after: always;' ></div>
        <p> This is 6th Page</p>
    <div style = 'page-break-after: always;' ></div>
        <p> This is 7th Page</p>
"""

# Create a PDF or Load an existing PDF using PdfDocument.FromFile()
pdf = renderer.RenderHtmlAsPdf(multi_page_html)

# Create a Header
header = HtmlHeaderFooter()
header.HtmlFragment = "<div>THIS IS HEADER {page} of {total-pages}</div>"

# Create a Page Range  0 .. 7
all_page_indexes = range(pdf.PageCount)

# Example 1
# Apply header to even page index only. (page number will be odd number because index start at 0 but page number start at 1)
even_page_indexes = [i for i in all_page_indexes if i % 2 == 0]
pdf.AddHtmlHeaders(header, 1, ToPageList(even_page_indexes))
pdf.SaveAs("even_page_indexes.pdf")

# Example 2
# Apply header to odd page index only. (page number will be even number because index start at 0 but page number start at 1)
new_pdf = renderer.RenderHtmlAsPdf(multi_page_html)
odd_page_indexes = [i for i in all_page_indexes if i % 2 != 0]
new_pdf.AddHtmlHeaders(header, 1, ToPageList(odd_page_indexes))
new_pdf.SaveAs("odd_page_indexes.pdf")

# Example 3
# Apply header to last page only.
new_pdf = renderer.RenderHtmlAsPdf(multi_page_html)
new_pdf.AddHtmlHeaders(header, 1, ToPageList([new_pdf.PageCount - 1]))
new_pdf.SaveAs("last_page_only.pdf")

# Example 4
# Apply header to first page only.
new_pdf = renderer.RenderHtmlAsPdf(multi_page_html)
new_pdf.AddHtmlHeaders(header, 1, ToPage(0))
new_pdf.SaveAs("first_page_only.pdf")

# Example 5
# Skip the first page.
new_pdf = renderer.RenderHtmlAsPdf(multi_page_html)
new_pdf.AddHtmlHeaders(header, 1, ToPageRange(1, new_pdf.PageCount))
new_pdf.SaveAs("skip_first_page.pdf")

# Example 6
# Skip first page and make second pages label as 1.
new_pdf = renderer.RenderHtmlAsPdf(multi_page_html)
new_pdf.AddHtmlHeaders(header, 0, ToPageRange(1, new_pdf.PageCount))
new_pdf.SaveAs("skip_and_dont_count_the_first_page.pdf")
pip install ironpdf
Ajouter des en-têtes/pieds de page sur des pages spécifiques

Ajouter des en-têtes/pieds de page sur des pages spécifiques

IronPDF for Python offre un contrôle précis sur les pages qui reçoivent des en-têtes et des pieds de page, vous permettant de cibler des pages paires, impaires, les premières ou dernières pages, ou des plages de pages personnalisées dans un seul document.

Commencer

Rendez un PDF multi-pages, créez un objet HtmlHeaderFooter, puis utilisez AddHtmlHeaders avec l'un des assistants de ciblage de pages pour appliquer l'en-tête de manière sélective. Des appels multiples avec différentes listes de pages peuvent ajouter différents en-têtes à différentes sections du document.

Comprendre le code

  • HtmlHeaderFooter : L'objet d'en-tête contenant le fragment HTML à estampiller sur chaque page ciblée. Les champs dynamiques comme {page} et {total-pages} sont pris en charge.
  • AddHtmlHeaders(header, firstPageNumber, pageList) : Applique l'en-tête aux pages spécifiées par la liste de pages. firstPageNumber contrôle la valeur du champ de fusion {page} sur la première page ciblée.
  • ToPageList(indexes) : Convertit une liste Python d'indices de pages basées sur zéro en format de liste de pages requis par AddHtmlHeaders.
  • ToPage(index) : Cible une seule page par son indice basé sur zéro.
  • ToPageRange(start, end) : Cible une plage continue de pages par leurs indices basés sur zéro.

Exemples de ciblage de pages dans ce code

Exemple d'applicationDescription du projet
Index de pages pairesEn-tête sur les pages 1, 3, 5... (index pairs basés sur zéro)
Index de pages impairesEn-tête sur les pages 2, 4, 6... (index impairs basés sur zéro)
Dernière page uniquementEn-tête appliqué uniquement à la dernière page
Première page uniquementEn-tête appliqué uniquement à la première page
Ignorer la première pageL'en-tête commence à partir de la deuxième page
Ignorer et renuméroterLa deuxième page commence au numéro de page 1
Apprenez à ajouter des en-têtes et des pieds de page aux PDFs avec IronPDF for Python !

Prêt à commencer?

Version :2026.9vient de sortir

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise