Write Modify Paragraph Alignment

The ooodev.format.writer.modify.para.alignment.Alignment class is used to modify the values seen in Fig. 1067 of a paragraph style.

Setup

General function used to run these examples:

from ooodev.format.writer.modify.para.alignment import Alignment, StyleParaKind
from ooodev.format.writer.modify.para.alignment import ParagraphAdjust, ParagraphVertAlignEnum
from ooodev.format.writer.modify.para.alignment import WritingMode, WritingMode2Enum
from ooodev.format.writer.modify.para.alignment import LastLineKind
from ooodev.office.write import Write
from ooodev.gui import GUI
from ooodev.loader.lo import Lo

def main() -> int:
    with Lo.Loader(Lo.ConnectPipe()):
        doc = Write.create_doc()
        GUI.set_visible(doc=doc)
        Lo.delay(300)
        GUI.zoom(GUI.ZoomEnum.ENTIRE_PAGE)

        shadow_style = Alignment(
            align=ParagraphAdjust.BLOCK,
            align_vert=ParagraphVertAlignEnum.TOP,
            txt_direction=WritingMode(WritingMode2Enum.LR_TB),
            expand_single_word=True,
            align_last=LastLineKind.JUSTIFY,
            style_name=StyleParaKind.STANDARD,
        )
        shadow_style.apply(doc)

        cursor = Write.get_cursor(doc)
        Write.append_para(cursor=cursor, text=p_txt)

        style_obj = Alignment.from_style(doc=doc, style_name=StyleParaKind.STANDARD)
        assert style_obj.prop_style_name == str(StyleParaKind.STANDARD)
        Lo.delay(1_000)

        Lo.close_doc(doc)

    return 0


if __name__ == "__main__":
    sys.exit(main())

Apply alignment to a style

Before applying Style

Writer dialog Paragraph Alignmet style default

Fig. 1067 Writer dialog Paragraph Alignmet style default

Apply style

# ... other code

shadow_style = Alignment(
    align=ParagraphAdjust.BLOCK,
    align_vert=ParagraphVertAlignEnum.TOP,
    txt_direction=WritingMode(WritingMode2Enum.LR_TB),
    expand_single_word=True,
    align_last=LastLineKind.JUSTIFY,
    style_name=StyleParaKind.STANDARD,
)
shadow_style.apply(doc)

After appling style

Writer dialog Paragraph Alignmet style changed

Fig. 1068 Writer dialog Paragraph Alignmet style changed

Getting the alignment from a style

We can get the alignment from the document.

# ... other code

style_obj = Alignment.from_style(doc=doc, style_name=StyleParaKind.STANDARD)
assert style_obj.prop_style_name == str(StyleParaKind.STANDARD)