当前位置:首页 > 自动化 > 正文

Python办公自动化 下载


Python可以用来自动化办公实现批量Word转pdf吗?
这里需要导入几个模块
fromwin32com.clientimportDispatch#如果没有,输入pipinstallpywin32命令安装
fromosimportwalk
importos
os是常用的模块文件处理。 至于Dispatch,它提供了一个接口。 Win32提供了多种将word转换为其他文件的接口。 其中FileFormat=17是转换为pdf格式。
转换文件的逻辑也很简单。 首先,需要提取该文件。 name,word文件的后缀是doc或docx,然后将后缀名替换为pdf即可转换。 这里使用了replace方法,即replace('docx','pdf').replace('doc','pdf')因为后缀可能是doc,所以需要进行两次判断。
值得注意的是,转换后的文件夹必须提前存在,否则会报错。
以下是项目源码
复制代码
fromwin32com.clientimportDispatch#pipinstallpywin32
fromosimportwalk
importos
wdFormatPDF=17#win32提供了多种word转换其他文件的接口,其中FileFormat=17转换为pdf
defdoc2pdf(input_file,input_file_name,output_dir):
try:
word=Dispatch('Word.Application')
doc=word.Documents.Open(input_file)
exceptExceptionase:
print("word无法打开,发生以下错误:\n{}".format(e))
尝试:
pdf_file_name=input_file_name.replace(".docx",".pdf").replace(".doc",".pdf")
pdf_file=os.path.join(output_dir,pdf_file_name)
doc.SaveAs(pdf_file,FileFormat=wdFormatPDF)
doc.Close()
word.Quit()
print("转换成功\"{}\"".format(input_file_name))
print()
exceptExceptionase:
print("文件保存失败,发生以下错误:\n{}".format(e))
if__name__=="__main__":
path_in=input("请输入word文件夹的路径(绝对路径)。 确保存在,建议复制粘贴")
path_out=input("请输入pdf文件夹的路径(绝对路径)确保存在,建议复制粘贴")
doc_files=[]
directory=path_in#word文件夹
output_dir=path_out#pdf文件夹
forroot,_,filenamesinwalk(directory):#第二个返回值为dirs,不需要使用_placeholder
forfileinfilenames:
iffile.endswith(".doc")orfile.endswith(".docx"):
print("Converting{}...".format(file))
doc2pdf(os.path.join(root,file),file,output_dir)
复制代码
python办公自动化哪个教程好
硒。
1.方法不错。 Python办公自动化Selenium教程采用一对一教学,优于其他教程方式。
2。 性价比高。 PythonOfficeAutomationSelenium教程比其他教程更具成本效益且实惠。