【发布时间】:2020-08-20 21:10:09
【问题描述】:
我是使用 Python 和 LibreOffice 套件的新手。我基本上是在尝试以编程方式复制基本 Impress 文件并批量复制它,但会更改某些文本框的大小。
我在网上查看了一些关于此的文档,但对如何实际实现它感到困惑。
谢谢
编辑: 我写了这个测试代码
import os
import zipfile
import glob
import uno
def MassCreatePresentation():
file = os.path.abspath(glob.glob('INTROTEMPLATE.pptx')[0])
print('File Found')
print(file)
oDoc = XSCRIPTCONTEXT.getDocument()
return
但它显示了这个错误:
File "MassPresentation.py", line 10, in MassCreatePresentation
oDoc = XSCRIPTCONTEXT.getDocument()
NameError: name 'XSCRIPTCONTEXT' is not defined
编辑:
好的,我终于用这个逻辑解决了这个问题。我的做法:
1)让shutil复制基础文件 2)使用zipfile解压复制的pptx文件, 3) 导航到幻灯片 xml 并使用 readlines() 4)修改xml并保存 5) 归档为 zip,然后将文件重命名为 .pptx 6)庆祝
【问题讨论】:
-
这能回答你的问题吗? How to run python macros in LibreOffice?
标签: python libreoffice-impress