python-docx源码学习

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

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

[Content_Types].xml

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

_rels 

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

word

_rels

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

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

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

document.xml

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

<w:document>
    <w:body>
        <w:p />
    </w:body>
</w:document>

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中的<w:p>。

注意

pptx也可以这么转换。

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值