使用Python将Microsoft Word文档转换为PDF

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python将Microsoft Word文档转换为PDF相关的知识,希望对你有一定的参考价值。

我有大量的Word和Excel文件。我想将子文件夹中的许多Word文件转换为PDF,我尝试按照代码。

此代码未激活(我的意思是没有Word转换为PDF)虽然没有错误。

Enter image description here

可能是什么问题呢?还有其他解决方案吗?

这是我的代码:

import os
from win32com import client
path = 'D:programing	est'
word_file_names = []
word = client.DispatchEx("Word.Application")
for dirpath, dirnames, filenames in os.walk(path):
    print (dirpath)
    for f in filenames:
        if f.lower().endswith(".docx") and re.search('Addendum', f):
            new_name = f.replace(".docx", r".pdf")
            in_file = word_file_names.append(dirpath + "" + f)
            new_file = word_file_names.append(dirpath + "" + new_name)
            doc = word.Documents.Open(in_file)
            doc.SaveAs(new_file, FileFormat = 17)
            doc.Close()
        if f.lower().endswith(".doc") and re.search('Addendum', f):
            new_name = f.replace(".doc", r".pdf")
            in_file = word_file_names.append(dirpath + "" + f)
            new_file = word_file_names.append(dirpath + "" + new_name)
            doc = word.Documents.Open(in_file)
            doc.SaveAs(new_file, FileFormat = 17)
            doc.Close()
    word.Quit()
答案

我解决了这个问题并修复了以下代码

import os
import win32com.client
import re
path = (r'D:programing	est')
word_file_names = []
word = win32com.client.Dispatch('Word.Application')
for dirpath, dirnames, filenames in os.walk(path):
    for f in filenames:  
        if f.lower().endswith(".docx") :
            new_name = f.replace(".docx", ".pdf")
            in_file =(dirpath + '/'+ f)
            new_file =(dirpath + '/' + new_name)
            doc = word.Documents.Open(in_file)
            doc.SaveAs(new_file, FileFormat = 17)
            doc.Close()
        if f.lower().endswith(".doc"):
            new_name = f.replace(".doc", ".pdf")
            in_file =(dirpath +'/' + f)
            new_file =(dirpath +'/' + new_name)
            doc = word.Documents.Open(in_file)
            doc.SaveAs(new_file, FileFormat = 17)
            doc.Close()
word.Quit()

以上是关于使用Python将Microsoft Word文档转换为PDF的主要内容,如果未能解决你的问题,请参考以下文章

将源代码示例插入 Microsoft Word 文档的最佳方法是啥?

将 base64 编码图像添加到 Microsoft Word 文档

以编程方式将图像添加到Word文档

将数据网格中的数据保存到 Microsoft Word 文档中

如何使Microsoft Word的宏生成多个文档?

在网页上呈现 Microsoft Word 文档