Header example¶
This example shows the functionality of the PageHeader object.
It creates a sample page with the different types of headers and footers.
The code¶
from pylatex import (
    Document,
    Foot,
    Head,
    LargeText,
    LineBreak,
    MediumText,
    MiniPage,
    PageStyle,
    simple_page_number,
)
from pylatex.utils import bold
def generate_header():
    geometry_options = {"margin": "0.7in"}
    doc = Document(geometry_options=geometry_options)
    # Add document header
    header = PageStyle("header")
    # Create left header
    with header.create(Head("L")):
        header.append("Page date: ")
        header.append(LineBreak())
        header.append("R3")
    # Create center header
    with header.create(Head("C")):
        header.append("Company")
    # Create right header
    with header.create(Head("R")):
        header.append(simple_page_number())
    # Create left footer
    with header.create(Foot("L")):
        header.append("Left Footer")
    # Create center footer
    with header.create(Foot("C")):
        header.append("Center Footer")
    # Create right footer
    with header.create(Foot("R")):
        header.append("Right Footer")
    doc.preamble.append(header)
    doc.change_document_style("header")
    # Add Heading
    with doc.create(MiniPage(align="c")):
        doc.append(LargeText(bold("Title")))
        doc.append(LineBreak())
        doc.append(MediumText(bold("As at:")))
    doc.generate_pdf("header", clean_tex=False)
generate_header()
The generated files¶
header.tex¶
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | \documentclass{article}% \usepackage[T1]{fontenc}% \usepackage[utf8]{inputenc}% \usepackage{lmodern}% \usepackage{textcomp}% \usepackage{lastpage}% \usepackage{geometry}% \geometry{margin=0.7in}% \usepackage{ragged2e}% \usepackage{fancyhdr}% % \fancypagestyle{header}{% \renewcommand{\headrulewidth}{0pt}% \renewcommand{\footrulewidth}{0pt}% \fancyhead{% }% \fancyfoot{% }% \fancyhead[L]{% Page date: % \linebreak% R3% }% \fancyhead[C]{% Company% }% \fancyhead[R]{% Page \thepage\ of \pageref{LastPage}% }% \fancyfoot[L]{% Left Footer% }% \fancyfoot[C]{% Center Footer% }% \fancyfoot[R]{% Right Footer% }% }% % \begin{document}% \normalsize% \pagestyle{header}% \begin{minipage}{\textwidth}% \centering% \begin{Large}% \textbf{Title}% \end{Large}% \linebreak% \begin{large}% \textbf{As at:}% \end{large}% \end{minipage}% \end{document} | 
header.pdf
