使用Python将Microsoft Word文档转换为PDF
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Python将Microsoft Word文档转换为PDF相关的知识,希望对你有一定的参考价值。
我有大量的Word和Excel文件。我想将子文件夹中的许多Word文件转换为PDF,我尝试按照代码。
此代码未激活(我的意思是没有Word转换为PDF)虽然没有错误。
可能是什么问题呢?还有其他解决方案吗?
这是我的代码:
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 文档