关于 win32com 将 ppt 另存为 pdf 的问题

2016-03-22 21:36:49 +08:00
 wangxl123

我想将某个文件夹下的 ppt 全部另存为 pdf,然后发现用 win32com 可以实现,写了这段代码,但是运行之后,只能将第一个 ppt 成功转成 pdf,接下来打开第二个 ppt 时就出错了: Traceback (most recent call last): File "D:_ppts\ppt_to_pdf.py", line 15, in <module> deck = powerpoint.Presentations.Open(ppt) File "<COMObject <unknown="">>", line 3, in Open com_error: (-2147352567, '\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3', (0, None, None, None, 0, -2147467259), None)

#这是代码 #coding:utf-8 import win32com.client import glob,os

ppts = []

for i in os.walk('D:\_ppts'): ppts.extend(glob.glob('%s/*.ppt' %i[0]))

powerpoint = win32com.client.Dispatch("Powerpoint.Application") powerpoint.Visible = 1

for ppt in ppts: newfile = ppt.split('\')[-1].strip('.ppt') + '.pdf' p = powerpoint.Presentations.Open(ppt)
p.SaveAs('D:\_pdfs\%s' % newfile, 32) p.Close()

powerpoint.Quit()

3321 次点击
所在节点    Python
4 条回复
loading
2016-03-22 21:41:10 +08:00
a='\xb7\xa2\xc9\xfa\xd2\xe2\xcd\xe2\xa1\xa3'
print a
loading
2016-03-22 21:42:43 +08:00
空格都被吞了,楼主贴到 gist 吧…
wangxl123
2016-03-22 22:11:50 +08:00
@loading print 出来四个字:“发生意外”.....
wangxl123
2016-03-24 17:51:02 +08:00
找见错误了,是因为那第二个 ppt 自己损坏了打不开.......

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/265579

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX