docx-python word doc page break

11,377

Breaks of their various forms appear at the Run level:
http://python-docx.readthedocs.io/en/latest/api/text.html#run-objects

So something like this should do the trick:

from docx.enum.text import WD_BREAK

for paragraph in document.paragraphs:
    if 'PUB' in paragraph.text:
        run = paragraph.add_run()
        run.add_break(WD_BREAK.PAGE)
Share:
11,377
Robert Bailey
Author by

Robert Bailey

Updated on June 11, 2022

Comments

  • Robert Bailey
    Robert Bailey about 2 years

    I am trying to add a page break to the middle of a document using the docx-python library.

    It would appear that when adding a pagebreak, the page break is added to the end of the document. Is there a method to add a page break to a specific location?

    This is my current code.

    from docx import Document
    from docx.shared import Inches
    
    demo='gm.docx'
    document = Document(docx=demo)
    
    for paragraph in document.paragraphs:
        if 'PUB' in paragraph.text:
            document.add_page_break()
    
    document.save('gm.docx')