我正在使用Windows和Jupyter来编写python代码,当我使用包comtypes.client时,它是不稳定的,有时它可以工作,有时它不会。我正在做的是尝试将pptx文件转换为pdf文件。这是我的代码:
import comtypes.client
def PPTtoPDF(inputFileName, outputFileName, formatType = 32):
powerpoint = comtypes.client.CreateObject("Powerpoint.Application")
powerpoint.Visible = 1
if outputFileName[-3:] != 'pdf':
outputFileName = outputFileName + ".pdf"
deck = powerpoint.Presentations.Open(inputFileName)
deck.SaveAs(outputFileName, formatType) # formatType = 32 for ppt to pdf
deck.Close()
powerpoint.Quit()
PPTtoPDF('07-20 contact PPT.pptx','./Reports/07-20 contact result',32)
错误是:
COMError: (-2147024894, 'The system cannot find the file specified.', (None, None, None, 0, None))
我认为此代码没有问题,因为它可以运行好几次,所以可能是因为计算机环境或其他原因。任何人都可以告诉我如何使这段代码稳定,或者在python中将PPTX转换为PDF有什么好处?
谢谢大家〜
答案 0 :(得分:0)
我收到了同样的错误,我有一台64位Windows PC。我的解决方案涉及使用以下命令指定文件路径:
# Open the ppt file path. sys.argv[1] is the ppt name.
mypath = os.path.abspath(__file__)
mydir = os.path.dirname(mypath)
file_input = os.path.join(mydir, sys.argv[1])
# create the pdf output file path and call your function
file_output = os.path.join(mydir, sys.argv[1][:-4] + "pdf")
PPTtoPDF(file_input, file_output)