我使用python-pptx v0.6.2生成powerpoint。我讀了一個存在的BytesIO的Powerpoint,然後做一些修改並保存。我可以成功下載文件,並且我確定內容可以寫入文件。但是當我打開Powerpoint的時候,它會彈出一個錯誤信息「Powerpoint發現foo.pptx中的內容有問題,Powerpoint可以嘗試修復這個提示」,然後我必須點擊「修復」按鈕,powerpoint會顯示爲「修復」模式。我的Python版本是3.5.2,Django版本是1.10。以下是我的代碼:Django使用python-pptx庫生成的powerpoint有錯誤信息
with open('foo.pptx', 'rb') as f:
source_stream = BytesIO(f.read())
prs = Presentation(source_stream)
first_slide = prs.slides[0]
title = first_slide.shapes.title
subtitle = first_slide.placeholders[1]
title.text = 'Title'
subtitle.text = "Subtitle"
response = HttpResponse(content_type='application/vnd.ms-powerpoint')
response['Content-Disposition'] = 'attachment; filename="sample.pptx"'
prs.save(source_stream)
ppt = source_stream.getvalue()
source_stream.close()
response.write(ppt)
return response
任何幫助表示感謝,提前致謝!
那麼問題是什麼? '.pptx'基本上是一個重命名的'.zip'文件。嘗試將其重命名爲'.zip'並手動檢查裏面的內容。 – yedpodtrzitko