请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10029|回复: 0

[混合编程] [已收纳]python之文档doc/docx批量转pdf

[复制链接]

新浪微博达人勋

发表于 2020-3-18 14:57:19 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 15195775117 于 2021-1-31 00:42 编辑

工作上经常需要把文档转pdf,今天研究一下实现了,代码如下:
#我电脑上的文档是wps_docx
#doc转pdf需要的包:
from win32com.client import constants,gencache
import glob
def createPdf(wordPath,pdfPath):
    word = gencache.EnsureDispatch('Word.Application')
    doc = word.Documents.Open(wordPath, ReadOnly=1)
    doc.ExportAsFixedFormat(pdfPath,
                            constants.wdExportFormatPDF,
                            Item=constants.wdExportDocumentWithMarkup,
                            CreateBookmarks=constants.wdExportCreateHeadingBookmarks)
    word.Quit(constants.wdDoNotSaveChanges)
#我打算把以下文件夹内的doc全转为pdf:
Path='C:\\Users\\Administrator\\Desktop\\报告集\\'
#查找doc文件:
docfile=glob.glob(Path+'*.docx')
#文件数:
n=len(docfile)
print('doc文件数=',n)
for i in range(0,n):
    #文件名需要用个独立的变量,docfile.split('.')非法

    name=docfile

    cut=name.split('.')
#    注意!这里不是[0:-2],与IDL不同的是,[0:-1]不包括最后一个!
    #pdf文件名:
    pdfile='.'.join(cut[0:-1])+'.pdf'
    print(pdfile)
    #执行进度:
    print(i+1,'/',n)
    x=createPdf(docfile,pdfile)

print('程序结束!')

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表