GO-AHEADの日記

GO-AHEADで出版した書籍の紹介をします

PythonでWordプログラミング入門-14

PythonでWordプログラミング入門

amazon kindleを出版しました。


 4.図の操作
 4.3 図の取り出しと保存

 Wordのdocxはzipファイルとして保存されているようです。そこで、docxをzipファイルとして読み込み、その後、画像ファイルを取り出して、"img01.jpg"として保存してみましょう。※"G:\word\Word3.docx"ではうまく読み込めず"G:\\word\\Word3.docx"のように\\でないとなぜかうまく読み込めませんでした。

#zipfileをインポートします。
import zipfile
from pathlib import Path

# Wordファイルを開きます。
Word1_zip =zipfile.ZipFile("G:\\word\\Word3.docx","r")
print(Word1_zip.filename)

#Word内のファイル名を取得
Wd1_filename = Word1_zip.namelist()

#ファイル名を表示
for f in Wd1_filename:
 print(f)

print('\n')
# ファイルを1つずつ表示
for f in Wd1_filename:
 # 画像ファイルだけ選別
 if f.startswith("word/media/"):
  print(f)
  #画像ファイルを開きます
  f_img=Word1_zip.open(f)
  #画像ファイルを読み込み
  r_img=f_img.read()
  #画像ファイルを保存ここでは1つしかないので
  #ファイル名をimg01.jpgとして保存します。
  p=Path("G:\\word\\img01.jpg")
  p.write_bytes(r_img)
  f_img.close()

#ファイルを閉じます。
Word1_zip.close()

 

G:\word\img01.jpgファイルが保存されました。

f:id:GO-AHEAD:20201204102922p:plain

img01.jpgはwordファイル内の画像となっています。

f:id:GO-AHEAD:20201204102939p:plain

Shellでの表示です。ファイルが読み込まれ、docx内のファイルが表示されています。

f:id:GO-AHEAD:20201204102951p:plain