如何使用 python create/modify 动态 Table MS word 中的内容
How to create/modify dynamic Table of Contents in MS word by using python
everyone.I 正在编写一个 python
脚本,可以使用 xml
文件自动生成 MS-Word
。我正在使用 python 库 docxtpl 来完成这项工作。
例如,如果我的脚本 xml
是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<Test>
<egg type="Text">some normal text.</egg>
<apple type="RichText" font="Times New Roman" color="#ff00ff" bold="True">This is a very big apple.</apple>
<banana type="Inline image" width='500' height='400'>D:\Tannis\Format_Bot\image4324.jpg</banana>
<orange type="Replace picture" target="target.jpg">D:\Tannis\Format_Bot\image\source.jpg</orange>
</test>
然后我的脚本可以插入那些text/picture或替换MS-Word
中的图片。现在我的脚本可以处理 text/picture/table/header/footer。
但我不知道如何 create/modify Table MS-Word
的目录 (ToC)。比如我的MS-word
的内容可能是动态的,有的多有的少。在这种情况下,我的 ToC 必须动态更改。
看来docxtpl无法胜任这项工作。我google这个问题,但对我来说没有好的解决方案。
有谁能想出一些解决办法吗?使用其他python
库是找到的,我会学习。
任何帮助将不胜感激,谢谢!
基本上你 don't have to
create/modify Table 的内容。按照以下步骤,你会没事的:
- 在模板中插入由 MS Word 自动生成的虚拟 Table 内容。
- 这个虚拟
toc
的作用是,当您右键单击并 select 更新字段时,它会自动生成 table 的内容。您所要做的就是使用标题元素来表明您正在创建一个 bookmark-able 元素。
- 用
docxtpl
生成文档后,打开它并右键单击目录,select update fields
.
- 你好!您的 table 内容已轻松更新。
docxtpl
太棒了。但是不要再认为您必须只使用 docxtpl
来完成所有事情。让 MS Word 做它更擅长做的事情。
docxtpl
正在开发中。所以上面所说的方式是你最好的选择。我在我的一个项目中使用了相同的方法。工作得很好。
everyone.I 正在编写一个 python
脚本,可以使用 xml
文件自动生成 MS-Word
。我正在使用 python 库 docxtpl 来完成这项工作。
例如,如果我的脚本 xml
是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<Test>
<egg type="Text">some normal text.</egg>
<apple type="RichText" font="Times New Roman" color="#ff00ff" bold="True">This is a very big apple.</apple>
<banana type="Inline image" width='500' height='400'>D:\Tannis\Format_Bot\image4324.jpg</banana>
<orange type="Replace picture" target="target.jpg">D:\Tannis\Format_Bot\image\source.jpg</orange>
</test>
然后我的脚本可以插入那些text/picture或替换MS-Word
中的图片。现在我的脚本可以处理 text/picture/table/header/footer。
但我不知道如何 create/modify Table MS-Word
的目录 (ToC)。比如我的MS-word
的内容可能是动态的,有的多有的少。在这种情况下,我的 ToC 必须动态更改。
看来docxtpl无法胜任这项工作。我google这个问题,但对我来说没有好的解决方案。
有谁能想出一些解决办法吗?使用其他python
库是找到的,我会学习。
任何帮助将不胜感激,谢谢!
基本上你 don't have to
create/modify Table 的内容。按照以下步骤,你会没事的:
- 在模板中插入由 MS Word 自动生成的虚拟 Table 内容。
- 这个虚拟
toc
的作用是,当您右键单击并 select 更新字段时,它会自动生成 table 的内容。您所要做的就是使用标题元素来表明您正在创建一个 bookmark-able 元素。 - 用
docxtpl
生成文档后,打开它并右键单击目录,selectupdate fields
. - 你好!您的 table 内容已轻松更新。
docxtpl
太棒了。但是不要再认为您必须只使用 docxtpl
来完成所有事情。让 MS Word 做它更擅长做的事情。
docxtpl
正在开发中。所以上面所说的方式是你最好的选择。我在我的一个项目中使用了相同的方法。工作得很好。