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: