最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python實(shí)現(xiàn)提取Word文檔中的文本和圖片

 更新時(shí)間:2023年12月19日 08:14:44   作者:E-iceblue  
將內(nèi)容從?Word?文檔中提取出來(lái)可以方便我們對(duì)其進(jìn)行其他操作,如將內(nèi)容儲(chǔ)存在數(shù)據(jù)庫(kù)中,本文將介紹如何使用簡(jiǎn)單的代碼實(shí)現(xiàn)從?Word?文檔中提取文本和圖片內(nèi)容并保存,需要的可以參考下

將內(nèi)容從 Word 文檔中提取出來(lái)可以方便我們對(duì)其進(jìn)行其他操作,如將內(nèi)容儲(chǔ)存在數(shù)據(jù)庫(kù)中、將內(nèi)容導(dǎo)入到其他程序中、用于 AI 訓(xùn)練以及制作其他文檔等。第三方庫(kù) Spire.Doc for Python 提供了一個(gè)簡(jiǎn)單的方法直接提取 Word 文檔中的內(nèi)容,包括文本和圖片,而不需要大量的復(fù)制粘貼操作,也不需要復(fù)雜的代碼。本文將介紹如何使用簡(jiǎn)單的代碼實(shí)現(xiàn)從 Word 文檔中提取文本和圖片內(nèi)容并保存。

  • 從 Word 文檔中提取文本內(nèi)容并寫(xiě)入 TXT 文件
  • 從 Word 文檔中提取圖片并保存

Python庫(kù)安裝: 在操作之前,需要先將Spire.Doc for Python 引入到項(xiàng)目中??梢韵螺d后安裝,或直接通過(guò) pip 安裝。

pip install Spire.Doc

Python 提取Word文檔中的文本內(nèi)容

Spire.Doc for Python中的 Document.GetText() 方法可以獲取Word文檔中的所有文本并返回字符串,我們可以將返回的字符串寫(xiě)入到文本文件中進(jìn)行保存。

代碼示例:

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"
     
#創(chuàng)建Document的對(duì)象
document = Document()

#載入Word文檔
document.LoadFromFile(inputFile)

#獲取文檔中的文本
text = document.GetText()

#將文本寫(xiě)入文本文件
WriteAllText(outputFile, text)
document.Close()

提取結(jié)果

Python 提取Word文檔中的圖片

提取圖片的操作相對(duì)復(fù)雜一些,需要判斷文檔元素子對(duì)象是否為圖片或復(fù)合對(duì)象,如果是圖片則保存,如果是復(fù)合對(duì)象則繼續(xù)判斷其中的子對(duì)象是否為圖片。

代碼示例:

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)

#創(chuàng)建Document的對(duì)象
document = Document()

#載入Word文檔
document.LoadFromFile(inputFile)

#創(chuàng)建一個(gè)隊(duì)列并將文檔元素放入其中
nodes = queue.Queue()
nodes.put(document)

#創(chuàng)建一個(gè)列表
images = []

#循環(huán)遍歷文檔元素
while nodes.qsize() > 0:
    node = nodes.get()
    for i in range(node.ChildObjects.Count):
        #獲取文檔元素的子對(duì)象
        child = node.ChildObjects.get_Item(i)
        #判斷子對(duì)象是否為圖片
        if child.DocumentObjectType == DocumentObjectType.Picture:
            picture = child if isinstance(child, DocPicture) else None
            dataBytes = picture.ImageBytes
            #添加到列表中
            images.append(dataBytes)
        #判斷子對(duì)象是否為復(fù)合對(duì)象
        elif isinstance(child, ICompositeObject):
            #添加到隊(duì)列中
            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()

提取結(jié)果:

到此這篇關(guān)于Python實(shí)現(xiàn)提取Word文檔中的文本和圖片的文章就介紹到這了,更多相關(guān)Python提取Word文本圖片內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

九江县| 湖口县| 普定县| 余庆县| 道真| 百色市| 广河县| 龙州县| 四会市| 吉安市| 河西区| 成都市| 明水县| 理塘县| 葵青区| 青田县| 织金县| 云梦县| 金乡县| 宁南县| 长乐市| 佛坪县| 河源市| 楚雄市| 峨眉山市| 雷州市| 花莲县| 德兴市| 岚皋县| 固阳县| 汝阳县| 柏乡县| 崇仁县| 绵阳市| 酉阳| 崇左市| 建平县| 宝应县| 浦城县| 无为县| 乌拉特前旗|