私はpython-pptx v0.6.2を使ってパワーポイントを生成します。 BytesIOに存在するパワーポイントを読んだ後、いくつかの変更を加えて保存します。私は、ファイルを正常にダウンロードすることができ、私はコンテンツがファイルに書き込むことができると確信しています。しかし、パワーポイントを開くと、「Powerpointはfoo.pptxのコンテンツに問題が見つかりました.Powerpointは事前設定を修復できます。」というエラーメッセージがポップアップします。「修復」ボタンをクリックすると、パワーポイントが次のように表示されます。 「修復」モード。私のPythonバージョンは3.5.2、Djangoバージョンは1.10です。以下は、私のコードは次のとおりです。Django python-pptxライブラリを使って生成されたパワーポイントにエラーメッセージ
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