我需要将一堆powerpoint文件转换成xml
格式
我必须在不打开文件的情况下更改大约100个powerpoint文件中的所有字体。每张幻灯片中有几种形状类型,每种形状可能有不同的字体。我使用python-pptx
包并编写了一些代码来更改powerpoint演示文稿中所有文本的字体。但是,事实证明,它并不适用于所有语言(有关更多详细信息,请参见change all fonts in powerpoint without opening the file)
我将powerpoint文件保存为xml,然后更改其中的所有字体。然后,当我用powerpoint打开文件时,它工作正常,所有字体都已更改!。现在,我正在尝试使用python代码将所有这些powerpoint文件保存为.xml
。
我仔细研究了一下python-pptx
是否提供了这样的功能,但什么也找不到
========================================更新===
我使用了opc extract
,得到了:
` opc extract .\f10.pptx
usage: opc extract [-h] PKG_PATH DIRPATH
opc extract: error: the following arguments are required: DIRPATH
(base) PS C:\Users\a_oro\Downloads\pptxfile> opc extract f10.pptx .
Traceback (most recent call last):
File "c:\users\a_oro\miniconda3\lib\runpy.py", line 194, in _run_module_as_main
return _run_code(code, main_globals, None,
File "c:\users\a_oro\miniconda3\lib\runpy.py", line 87, in _run_code
exec(code, run_globals)
File "C:\Users\a_oro\Miniconda3\Scripts\opc.exe\__main__.py", line 7, in <module>
File "c:\users\a_oro\miniconda3\lib\site-packages\opcdiag\cli.py", line 304, in main
command_controller.execute(argv)
File "c:\users\a_oro\miniconda3\lib\site-packages\opcdiag\cli.py", line 53, in execute
command.execute(args, self._app_controller)
File "c:\users\a_oro\miniconda3\lib\site-packages\opcdiag\cli.py", line 228, in execute
app_controller.extract_package(args.pkg_path, args.dirpath)
File "c:\users\a_oro\miniconda3\lib\site-packages\opcdiag\controller.py", line 66, in extract_package
package.prettify_xml()
File "c:\users\a_oro\miniconda3\lib\site-packages\opcdiag\model.py", line 54, in prettify_xml
for pkg_item in self._pkg_items.itervalues():
AttributeError: 'dict' object has no attribute 'itervalues'
我感谢任何帮助或评论
有一个名为
opc-diag
的配套软件包,可以帮助您完成部分任务。您可以通过以下方式安装它:然后从命令行可以:
这个“解包”将
.pptx
“包”打包成它的组件(文件),其中大部分是XML。它还将它们重新格式化以便于编辑,而不是PowerPoint存储的“一行一个文件”格式然后你可以用
sed
做一些全局编辑,我想或者你决定的任何东西然后你可以做:
更改后,您将再次获得一个可加载的
.pptx
文件因此,把所有这些放在一起:
相关问题 更多 >
编程相关推荐