批量把当前文件夹内的word文档转换为pdf
代码
python
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
以下是参考
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