Python libreoffice使用uno设置边距值,最佳高度和打印文档

时间:2017-12-10 08:34:02

标签: python libreoffice uno

我尝试使用Python进行libreoffice交互,它集成在Libreoffice安装中。而且我没有找到任何地方如何在PageStyle中设置边距,设置行的最佳高度并打印少量文档副本。或者,也许,我可以在Libreoffice中编写宏并从python运行它。以下代码无效。

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

P.S。抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

在大多数版本的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中,转到工具 - &gt;宏 - &gt;运行宏。展开到我的宏 - &gt; change_settings 并选择宏名称set_page_style_margins

有关使用LibreOffice的Python的完整介绍: