繁体   English   中英

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

[英]Python libreoffice set margin values, optimal height and print document with uno

我尝试使用集成在 Libreoffice 安装中的 Python 与 libreoffice 进行交互。 而且我在任何地方都找不到如何在 PageStyle 中设置边距,以设置最佳行高并打印几份文档。 或者,也许,我可以在 Libreoffice 中编写宏并从 python 运行它。 下面的代码不起作用。

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

PS对不起我的英语。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM