Python 提取 Word 文档中的文本和图片,第三方库Spire.
Python 提取 Word 文档中的文本和图片,第三方库Spire.
将内容从 Word 文档中提取出来可以方便我们对其进行其他操作,如将内容储存在数据库中、将内容导入到其他程序中、用于 AI 训练以及制作其他文档等。第三方库 Spire.Doc for Python 提供了一个简单的方法直接提取 Word 文档中的内容,包括文本和图片,而不需要大量的复制粘贴操作,也不需要复杂的代码。本文将介绍如何使用简单的代码实现从 Word 文档中提取文本和图片内容并保存。
- 从 Word 文档中提取文本内容并写入 TXT 文件
- 从 Word 文档中提取图片并保存
Python库安装: 在操作之前,需要先将Spire.Doc for Python 引入到项目中。可以下载后安装,或直接通过 pip 安装。
pip install Spire.Doc
Python 提取Word文档中的文本内容
Spire.Doc for Python中的 Document.GetText() 方法可以获取Word文档中的所有文本并返回字符串,我们可以将返回的字符串写入到文本文件中进行保存。
代码示例:
from turtle import st from spire.doc import * from spire.doc.common import * def WriteAllText(fname:str,text:List[str]): fp = open(fname,"w") for s in text: fp.write(s) fp.close() inputFile = "示例.docx" outputFile = "获取的文本.txt" #创建Document的对象 document = Document() #载入Word文档 document.LoadFromFile(inputFile) #获取文档中的文本 text = document.GetText() #将文本写入文本文件 WriteAllText(outputFile, text) document.Close()
提取结果
Python 提取Word文档中的图片
提取图片的操作相对复杂一些,需要判断文档元素子对象是否为图片或复合对象,如果是图片则保存,如果是复合对象则继续判断其中的子对象是否为图片。
代码示例:
import queue from spire.doc import * from spire.doc.common import * import os outputPath = "Images/" inputFile = "示例.docx" if not os.path.exists(outputPath): os.makedirs(outputPath) #创建Document的对象 document = Document() #载入Word文档 document.LoadFromFile(inputFile) #创建一个队列并将文档元素放入其中 nodes = queue.Queue() nodes.put(document) #创建一个列表 images = [] #循环遍历文档元素 while nodes.qsize() > 0: node = nodes.get() for i in range(node.ChildObjects.Count): #获取文档元素的子对象 child = node.ChildObjects.get_Item(i) #判断子对象是否为图片 if child.DocumentObjectType == DocumentObjectType.Picture: picture = child if isinstance(child, DocPicture) else None dataBytes = picture.ImageBytes #添加到列表中 images.append(dataBytes) #判断子对象是否为复合对象 elif isinstance(child, ICompositeObject): #添加到队列中 nodes.put(child if isinstance(child, ICompositeObject) else None) #保存图片 for i, item in enumerate(images): fileName = "Image-{}.png".format(i) with open(outputPath+fileName,'wb') as imageFile: imageFile.write(item) document.Close()
提取结果:
以上是关于如何使用Python 从Word文档中提取文本和图片的介绍。该Python Word库还支持非常多的文档操作,具体可以查看 Spire.Doc for Python中文教程。
相关内容
- Python 中如何编写类型提示,类型提示是Pytho
- Python实现模块热加载,如果我想关闭Pyth
- PyCharm中New Directory 和 New Python Package的区别,这个__ini
- 三、python的数据、变量、注释,目前了解就可以了打开
- Python 潮流周刊第 31 期(摘要),愿景:帮助所有读者
- [Python学习笔记]制作自动将xls文件转化为xlsx文件的程序
- Python 潮流周刊第一季完结(1~30),庆祝Python潮流
- 使用Python和Qt6(PySide6)创建GUI应用1简介,1.1GUI简史图形
- python将资源打包进exe,分析我py代码中的图
- Python中isdigit、isnumeric、isdecimal,
评论关闭