64 lines
1.8 KiB
Python
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")
|