python3 获取docx书签
2021/8/12 17:36:02
本文主要是介绍python3 获取docx书签,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
前提 手上有个活,要获取到docx格式的word文档,通过书签定位然后去更改书签处的图片或者问题。例如:签名章的应用。
因为一些原因,需要用到python去处理
下载python
版本如下图,下载的最新python版本。过程略
官网下载地址:https://www.python.org/downloads/windows/ 版本看自己选择
部署环境
使用VScode 集成python环境,之前做前端开发的时候下载的。就懒的处理.
过程略 参考链接VSCode集成python环境
处理书签
关于docx
感叹微软的强大,今天才知道 docx是一个压缩包:举例demo.docx文件
-
修改文件demo.docx 为 demo.zip
直接改后缀名即可
-
解压demo.zip 可以得到下图的内容
其中 word文件夹里边是存放的具体文字内容,打开里边的document.xml文件(
建议用浏览器打开查看,层次更清晰一些
) 可以对比出来docx文档中的内容:如下图
python解析代码
获取书签
代码处尽量能注释的都给注释了
下载的组件
pip install python-docx 处理document文档的
from zipfile import ZipFile from xml.dom.minidom import parse #官网获取xml类 from docx import Document # 需要下载 具体 python install python-docx from docx import shared document=ZipFile(r'd://demo2.docx') xml=document.read("word/document.xml") booklist=['编制','校对','审核','标审','会签','批准'] with ZipFile('d://demo2.docx') as zin: with zin.open('word/document.xml') as dxml: domTree = parse(dxml) # 文档根元素 rootNode = domTree.documentElement # print(rootNode.nodeName) bookMark = rootNode.getElementsByTagName("w:bookmarkStart") print("所有的书签↓↓↓↓↓↓↓↓↓↓↓") for mark in bookMark: bookname = mark.getAttribute("w:name") if bookname in booklist: print("书签:",mark.getAttribute("w:name")) print('读取结束')
这篇关于python3 获取docx书签的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-14获取参数学习:Python编程入门教程
- 2024-11-14Python编程基础入门
- 2024-11-14Python编程入门指南
- 2024-11-13Python基础教程
- 2024-11-12Python编程基础指南
- 2024-11-12Python基础编程教程
- 2024-11-08Python编程基础与实践示例
- 2024-11-07Python编程基础指南
- 2024-11-06Python编程基础入门指南
- 2024-11-06怎么使用python 计算两个GPS的距离功能-icode9专业技术文章分享