ユーザー指定の ppt を開いて読み取り、画像ファイル名を見つけるスクリプトを作成しようとしています。これにより、実際にpptファイルを開くことができるため、python pptxパッケージを使用しています。各スライドを調べて、そのスライドの画像を確認しようとしていますが、pptx パッケージでこれを行う方法がわかりません。この imo のドキュメントはあまり明確ではありません。
したがって、ドキュメントをもう少し掘り下げた後、この種の仕事をすることがわかりました:
file = open(fileName, 'rb')
ppt = Presentation(file)
images = []
for slide in ppt.slides:
for shape in slide.shapes:
print(shape.image)
if shape.image:
if isCorrectImageType(shape.image):
print(shape.image.filename)
file.close()
def isCorrectImageType(imageShape):
imgExtension = imageShape.content_type
filePattern = '(.jpg$|.jpeg$|.png$|.gif$)'
image = re.search(filePattern, imgExtension)
print(image.group(0))
return image.group(0)
これは機能しますが、正しいファイル名を返しません。ファイル名が myfile.png のときに image.png を返します。