Headers, Footers & Table of Contents¶
Headers¶
# Set a header for all pages
doc.set_header("CSE 401 - Lab Solutions")
# Different header on the first page (empty = no header)
doc.set_header("Chapter 1", first_page="")
Footers¶
Page Numbers¶
# Centered in footer (default)
doc.add_page_numbers(position="footer-center")
# Other positions
doc.add_page_numbers(position="footer-right")
doc.add_page_numbers(position="header-right")
doc.add_page_numbers(position="header-left")
Available positions: footer-left, footer-center, footer-right, header-left, header-center, header-right.
Table of Contents¶
Note
The TOC is inserted as a Word field. It populates automatically when you open the document in Word and press Ctrl+A → F9 (Update Fields).
Complete Example¶
from papersmith import SmithDocument
doc = SmithDocument(preset="report")
doc.add_cover_page(title="Q3 Report", author="Finance Team")
doc.add_toc()
doc.add_page_break()
doc.add_heading("Revenue", level=1)
doc.add_text("Total revenue increased by 15% YoY.")
doc.add_heading("Expenses", level=1)
doc.add_text("Operating expenses remained flat.")
doc.set_header("Q3 2026 Report", first_page="")
doc.set_footer("Confidential")
doc.add_page_numbers(position="footer-right")
doc.save("q3_report.docx")