作为对我之前的问题的回答,我编写了以下简短程序来尝试重现该问题。
from pptx import Presentation
from io import BytesIO
p = Presentation()
slide = p.slides.add_slide(p.slide_layouts[0])
slide.shapes[0].text = 'asdf'
p.save('test.pptx')
out = BytesIO()
p.save(out)
out_file = open('bytes_test.pptx', 'wb', buffering=0)
out_file.write(out.read())
out_file.close()
Run Code Online (Sandbox Code Playgroud)
这产生了两个pptx文件。
第一个是test.pptx,它包含一个带有“标题幻灯片”布局的幻灯片,并包含字符串“ asdf”。文件大小为28 KB。
第二个,bytes_test.pptx,在PowerPoint中打开时,仅显示一个大灰色框,上面显示“单击以添加第一张幻灯片”。文件大小为0。
在Windows 10上使用Anaconda Python 3.6.1和python-pptx 0.6.6运行
为什么会这样?
python-pptx ×1