抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

批量把当前文件夹内的word文档转换为pdf

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
from win32com.client import Dispatch
from os import walk,getcwd


def doc2pdf(input_file):
word = Dispatch('Word.Application')
doc = word.Documents.Open(input_file)
doc.SaveAs(input_file.replace(".doc", ".pdf"), FileFormat=17)
doc.Close()
word.Quit()


if __name__ == "__main__":
doc_files = []
directory = getcwd()
for root, dirs, filenames in walk(directory):
for file in filenames:
if file.endswith(".doc") or file.endswith(".docx"):
print(file)
doc2pdf(str(root + "\\" + file))

备注

其中SaveAs中第二个参数FileFormat=17是指定保存文档时使用的格式,17是PDF

以下是参考

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
WdSaveFormat 枚举   
指定要在保存文档时使用的格式。
版本信息 已添加版本:
名称 值 说明
wdFormatDocument 0 Microsoft Word 格式。
wdFormatDOSText 4 Microsoft DOS 文本格式。
wdFormatDOSTextLineBreaks 5 Microsoft DOS 文本格式,并且保留换行符。
wdFormatEncodedText 7 编码文本格式。
wdFormatFilteredHTML 10 筛选的 HTML 格式。
wdFormatHTML 8 标准 HTML 格式。
wdFormatRTF 6 RTF 格式。
wdFormatTemplate 1 Word 模板格式。
wdFormatText 2 Microsoft Windows 文本格式。
wdFormatTextLineBreaks 3 Windows 文本格式,并且保留换行符。
wdFormatUnicodeText 7 Unicode 文本格式。
wdFormatWebArchive 9 Web 档案格式。
wdFormatXML 11 可扩展标记语言 (XML) 格式。
wdFormatDocument97 0 Microsoft Word 97 文档格式。
wdFormatDocumentDefault 16 Word 默认文档文件格式。对于 Word 2010,这是 DOCX 格式。
wdFormatPDF 17 PDF 格式。
wdFormatTemplate97 1 Word 97 模板格式。
wdFormatXMLDocument 12 XML 文档格式。
wdFormatXMLDocumentMacroEnabled 13 启用了宏的 XML 文档格式。
wdFormatXMLTemplate 14 XML 模板格式。
wdFormatXMLTemplateMacroEnabled 15 启用了宏的 XML 模板格式。
wdFormatXPS 18 XPS 格式。

文档网址

https://docs.microsoft.com/zh-cn/office/vba/api/word.wdsaveformat

评论