Python libreoffice устанавливает значения полей, оптимальную высоту и печатает документ с помощью

Я пытался взаимодействовать с libreoffice с Python, который интегрирован в установку Libreoffice. И я нигде не нашел, как я могу установить поля в PageStyle, чтобы установить оптимальную высоту строки и напечатать несколько копий документа. Или, может быть, я могу написать макрос в Libreoffice и запустить его из Python. Код ниже не работает.

pageStyle = document.getStyleFamilies().getByName("PageStyles")
page = pageStyle.getByName("Default")
page.LeftMargin = 500

PS Извините за мой английский.

1 ответ

Решение

В большинстве версий LibreOffice имя стиля по умолчанию - "Стиль по умолчанию". В Apache OpenOffice он называется "По умолчанию".

Вот полный код. Например, назовите файл change_settings.py,

import uno

def set_page_style_margins():
    document = XSCRIPTCONTEXT.getDocument()
    pageStyle = document.getStyleFamilies().getByName("PageStyles")
    page = pageStyle.getByName("Default Style")
    page.LeftMargin = 500

g_exportedScripts = set_page_style_margins,

В моей системе Windows 10 этот скрипт находится в каталоге C:\Users\<your username>\AppData\Roaming\LibreOffice\4\user\Scripts\python, Вам нужно будет создать последние два каталога, и регистр должен совпадать.

Теперь в LibreOffice Writer перейдите в Инструменты -> Макросы -> Запустить макрос. Разверните до Мои макросы -> change_settings и выберите имя макроса set_page_style_margins,

Для полного знакомства с Python с помощью LibreOffice:

Другие вопросы по тегам