我正在编写一个面向演讲者和会议的应用程序。我用 Python 编写并专注于 Linux。
我想知道是否可以在 Linux 下使用 Python 以某种方式控制 LibreOffice Impress。
我想从我的 Python 应用程序启动一个 LibreOffice Impress 实例,并加载一些 .odp 文件。然后,我希望能够从 odp 接收一些信息,例如:上一张、当前和下一张幻灯片。或者以某种方式随时随地生成幻灯片的图像。
最后,我想实时控制LibreOffice。这是:使用方向键在幻灯片中移动;右边和左边。
我的想法是单独使用 python,但我不介意使用外部库或框架。
多谢。
@user3159253 的答案描述了如何连接到演示文稿文件,这是问题的第一部分。然后,要控制演示文稿,您需要使用X演示2 and XSlideShowController。这是一些执行此操作的代码,使用doc
来自另一个示例的变量:
def runSlideShow(doc):
presentation = doc.getPresentation()
presentation.start()
while not presentation.isRunning():
pass
presentation_controller = presentation.getController()
presentation_controller.gotoNextSlide()
print("isRunning() == %s" % presentation_controller.isRunning())
我改编了这段代码http://openoffice.2283327.n4.nabble.com/XPresentation2-returns-a-null-XSlideShowController-td2771599.html.
回复您的评论:您需要在代码底部添加以下内容,
类似于highlight.py中的内容。
您是否尝试运行 impress-code-highlighter 示例?
def do_runSlideShow(*args):
ctx = XSCRIPTCONTEXT
doc = ctx.getDocument()
runSlideShow(doc)
g_exportedScripts = (do_runSlideShow,)
if __name__ == "__main__":
doc = remote_get_doc()
runSlideShow(doc)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)