43 lines
1.7 KiB
Python
43 lines
1.7 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") |