2016-09-12 25 views
1

イメージをクリップボードから取得しようとしていますが、そのイメージをpython-pptxに追加します。 私はディスクにイメージを保存したくありません。 私はこれ試してみました:python-pptxでAddPictureにPILイメージを渡す方法

from pptx import Presentation 
from PIL import ImageGrab,Image 
from pptx.util import Inches 
im = ImageGrab.grabclipboard() 
prs = Presentation() 
title_slide_layout = prs.slide_layouts[0] 
slide = prs.slides.add_slide(title_slide_layout) 
left = top = Inches(1) 
pic = slide.shapes.add_picture(im, left, top) 
prs.save('PPT.pptx') 

をしかし、これと間違っている何、このエラー

File "C:\Python27\lib\site-packages\PIL\Image.py", line 627, in __getattr__ 
    raise AttributeError(name) 
AttributeError: read 

を取得しますか?

答えて

0

イメージは、ストリーム(つまり論理ファイル)オブジェクトの形式である必要があります。だから、最初にメモリファイルに "保存"する必要があります。おそらくStringIOがあなたが探しているものです。

This other questionにはいくつかの詳細があります。

関連する問題