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")
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'application
Description du projet
Index de pages paires
En-tête sur les pages 1, 3, 5... (index pairs basés sur zéro)
Index de pages impaires
En-tête sur les pages 2, 4, 6... (index impairs basés sur zéro)
Votre clé d'essai devrait être dans l'e-mail. Si elle ne l'est pas, veuillez contacter support@ironsoftware.com
Rejoignez les millions d'ingénieurs qui ont essayé IronPDF
Votre clé d'essai devrait être dans l'e-mail. Si elle ne l'est pas, veuillez contacter support@ironsoftware.com
Parlez à l'Équipe de Vente
Réservez une Consultation sans Engagement
Comment pouvons-nous vous aider :
Consultez votre flux de travail et vos points de douleur
Voyez comment d'autres entreprises répondent à leurs besoins en matière de documents .NET
Toutes vos questions reçoivent une réponse pour vous assurer d'avoir toutes les informations nécessaires. (Aucun engagement de quelque nature que ce soit.)
Obtenez un devis personnalisé pour les besoins de votre projet