from ironpdf import * # Instanciar renderizador 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> """ # Crear un PDF o cargar un PDF existente mediante PdfDocument.FromFile() pdf = renderer.RenderHtmlAsPdf(multi_page_html) # Crear una cabecera header = HtmlHeaderFooter() header.HtmlFragment = "<div>THIS IS HEADER {page} of {total-pages}</div>" # Crear un intervalo de páginas 0 .. 7 all_page_indexes = range(pdf.PageCount) # Ejemplo 1 # Aplique la cabecera sólo al índice de página par. (el número de página será impar porque el índice empieza en 0 pero el número de página empieza en 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") # Ejemplo 2 # Aplique la cabecera sólo al índice de páginas impares. (el número de página será par porque el índice empieza en 0 pero el número de página empieza en 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") # Ejemplo 3 # Aplicar cabecera sólo a la última página. new_pdf = renderer.RenderHtmlAsPdf(multi_page_html) new_pdf.AddHtmlHeaders(header, 1, ToPageList([new_pdf.PageCount - 1])) new_pdf.SaveAs("last_page_only.pdf") # Ejemplo 4 # Aplique la cabecera sólo a la primera página. new_pdf = renderer.RenderHtmlAsPdf(multi_page_html) new_pdf.AddHtmlHeaders(header, 1, ToPage(0)) new_pdf.SaveAs("first_page_only.pdf") # Ejemplo 5 # Sáltese la primera página. new_pdf = renderer.RenderHtmlAsPdf(multi_page_html) new_pdf.AddHtmlHeaders(header, 1, ToPageRange(1, new_pdf.PageCount)) new_pdf.SaveAs("skip_first_page.pdf") # Ejemplo 6 # Omitir la primera página y hacer que las segundas páginas se etiqueten como 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")