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")
#Instantiate Renderer
#Create a PDF or Load an existing PDF using PdfDocument.FromFile()
#Create a Header
#Create a Page Range 0 .. 7
#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)
#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)
#Example 3
#Apply header to last page only.
#Example 4
#Apply header to first page only.
#Example 5
#Skip the first page.
#Example 6
#Skip first page and make second pages label as 1.
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'from ironpdf import * 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>" pdf = renderer.RenderHtmlAsPdf(multi_page_html) header = HtmlHeaderFooter() header.HtmlFragment = "<div>THIS IS HEADER {page} of {total-pages}</div>" all_page_indexes = range(pdf.PageCount) 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") 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") new_pdf = renderer.RenderHtmlAsPdf(multi_page_html) new_pdf.AddHtmlHeaders(header, 1, ToPageList([new_pdf.PageCount - 1])) new_pdf.SaveAs("last_page_only.pdf") new_pdf = renderer.RenderHtmlAsPdf(multi_page_html) new_pdf.AddHtmlHeaders(header, 1, ToPage(0)) new_pdf.SaveAs("first_page_only.pdf") new_pdf = renderer.RenderHtmlAsPdf(multi_page_html) new_pdf.AddHtmlHeaders(header, 1, ToPageRange(1, new_pdf.PageCount)) new_pdf.SaveAs("skip_first_page.pdf") 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")