python-docx源码学习

docx文件是一个包(WordprocessingML Package),其中包含许多个xml文件,另外还包含其他媒体文件,例如图像、视频。

可以将docx文件重命名为zip文件,再解压缩,即可看到文件结构。

python-docx源码学习_第1张图片

[Content_Types].xml

位于根目录下,是此包所有文件的列表。每个文件及其类型都在 [Content_Types].xml 中列出。

_rels 

用于标识包的起始部分或包关系。不懂

word

python-docx源码学习_第2张图片

_rels

文档关系,包括超链接,脚注等

endnotes.xml, fontTable.xml, footnotes.xml, settings.x

ml, styles.xml, webSetings.xml分别表示尾注,字体表,页脚,文档设置,样式,网页设置。

document.xml

就是正文啦!结构大致如下:


    
        
    

python-docx中的Document(filepath)就是读取了一个docx文件的document.xml,其中提供了add_paragraph((), add_heading(), add_section()等方法。原理也是对document.xml进行改写。

document.xml中的每一个属性都对应 python-docx中的一个类,例如oxml.text.paragraph.py中的CT_P对应xm中的

注意

pptx也可以这么转换。

但是doc格式, pdf格式的文件不能转成zip。硬转会报错。

你可能感兴趣的:(python)