pythonでpython-docxを使用してdocxのピクチャを一括抽出

1262 ワード

仕事の中で大量のdocxドキュメントから画像を提出する必要があるため、ネット上で検索して、xmlファイルを分析して抽出したものをたくさん探しました.複雑すぎて、実際にはもっと簡単な方法があります.python-docxはこの機能を開発していませんが、debug方式でリソース情報を見つけることができて、直接抽出して保存すればいいです.
本文はオリジナルで、転載する必要がある場合は出典を明記してください.
    for file in os.listdir(filePath):
        try:
            #   docx  
            if ".docx" not in file:
                continue
            #   imgPath
            subImgPath = imgPath + re.sub(".docx","",file)
            if not os.path.exists(subImgPath):
                os.makedirs(subImgPath)

            doc = docx.Document(filePath + file)        #    
            for rel in doc.part._rels:
                rel = doc.part._rels[rel]               #    
                if "image" not in rel.target_ref:
                    continue
                imgName = re.findall("/(.*)",rel.target_ref)[0]
                with open(subImgPath + "/" + imgName,"wb") as f:
                    f.write(rel.target_part.blob)
            UI.currentFile.setText("    :" + imgName)
        except:
            continue
   subImagPath                   。    python-docx   xml  ,              ,        ,    word,            ,            ,       。