python-docx-template/tests/richtextparagraph.py
Eric Lapouyade 40861400b3 black
2025-05-02 16:42:32 +02:00

64 lines
1.8 KiB
Python

"""
Created : 2025-02-28
@author: Hannah Imrie
"""
from docxtpl import DocxTemplate, RichText, RichTextParagraph
tpl = DocxTemplate("templates/richtext_paragraph_tpl.docx")
rtp = RichTextParagraph()
rt = RichText()
rtp.add(
"The rich text paragraph function allows paragraph styles to be added to text",
parastyle="myrichparastyle",
)
rtp.add("Any built in paragraph style can be used", parastyle="IntenseQuote")
rtp.add(
"or you can add your own, unlocking all style options", parastyle="createdStyle"
)
rtp.add(
"To use, just create a style in your template word doc with the formatting you want "
"and call it in the code.",
parastyle="normal",
)
rtp.add("This allows for the use of")
rtp.add("custom bullet\apoints", parastyle="SquareBullet")
rtp.add("Numbered Bullet Points", parastyle="BasicNumbered")
rtp.add("and Alpha Bullet Points.", parastyle="alphaBracketNumbering")
rtp.add("You can", parastyle="normal")
rtp.add("set the", parastyle="centerAlign")
rtp.add("text alignment", parastyle="rightAlign")
rtp.add(
"as well as the spacing between lines of text. Like this for example, "
"this text has very tight spacing between the lines.\aIt also has no space between "
"paragraphs of the same style.",
parastyle="TightLineSpacing",
)
rtp.add(
"Unlike this one, which has extra large spacing between lines for when you want to "
"space things out a bit or just write a little less.",
parastyle="WideLineSpacing",
)
rtp.add(
"You can also set the background colour of a line.", parastyle="LineShadingGreen"
)
rt.add("This works with ")
rt.add("Rich ", bold=True)
rt.add("Text ", italic=True)
rt.add("Strings", underline="single")
rt.add(" too.")
rtp.add(rt, parastyle="SquareBullet")
context = {
"example": rtp,
}
tpl.render(context)
tpl.save("output/richtext_paragraph.docx")