当前位置: 代码网 > it编程>前端脚本>Python > Python代码实现PDF与Word之间互转

Python代码实现PDF与Word之间互转

2026年03月20日 Python 我要评论
一、pdf转docx将pdf 格式转换为word格式要求很高,很多的转换网页需要付费、而且转换的效果不好。在python中,利用pdf2docx库可以很好地实现这个需求,直接使用pip安装即可。pip

一、pdf转docx

将pdf 格式转换为word格式要求很高,很多的转换网页需要付费、而且转换的效果不好。

在python中,利用pdf2docx库可以很好地实现这个需求,直接使用pip安装即可。

pip install pdf2docx

坐等安装完成

该模块有一个convert()方法,可以实现将pdf格式转换为word格式

(默认转换整个文档)完整代码如下:

from pdf2docx import converter

cv = converter("c:/users/ypzhao/desktop/毕业论文.pdf")
cv.convert("c:/users/ypzhao/desktop/毕业.docx", start=0, end=none)
cv.close()

(转换指定范围)完整代码如下:

from pdf2docx import converter

cv = converter("c:/users/ypzhao/desktop/毕业论文.pdf")
cv.convert("c:/users/ypzhao/desktop/毕业论文.docx", pages=[0,2])
cv.close()

使用 pages 参数指定要转换的页码范围。

二、docx转pdf

首先安装库

pip install pypiwin32
from win32com.client import dispatch

old_file_path = r"c:/users/ypzhao/desktop/毕业论文.docx"
new_file_path = r"c:/users/ypzhao/desktop/毕业论文_convert.pdf"
word = dispatch('word.application')
doc = word.documents.open(old_file_path)
doc.saveas(new_file_path,17)
doc.close()
word.quit()

转换后的效果和另存为的pdf的效果一样

首先,需要 import win32com 库中的 dispatch 类。然后,定义变量 old_file_path 和 new_file_path 分别表示原文件路径和目标文件路径。在这里,原文件路径为 “c:/users/ypzhao/desktop/毕业论文.docx”,目标文件路径为 “c:/users/ypzhao/desktop/毕业论文_convert.pdf”。

接着,创建一个 word.application 对象,并打开原文件,获取 document 对象。调用 saveas 方法,将文档以 pdf 格式保存到指定路径,并设置参数 17 指定文档的保存格式为 pdf。最后,关闭文档,并退出 word 应用程序。

win32com 库可以帮助我们在 python 程序中使用 windows 中的 com 应用程序,比如 word、excel、powerpoint 等 office 软件,从而实现自动化操作。在上述代码中,我们利用 win32com 库的 dispatch 类创建了一个 word.application 的对象,之后打开了指定的 docx 文档,并通过 saveas 方法将其另存为 pdf 格式的文档。该过程完全不需要手动干预,实现了自动化处理,提高了效率。

三、doc转换为docx

from win32com.client import dispatch
old_file_path = r"c:/users/ypzhao/desktop/毕业论文.doc"
new_file_path = r"c:/users/ypzhao/desktop/毕业论文_convert.docx"

word = dispatch('word.application')
doc = word.documents.open(old_file_path)
doc.saveas(new_file_path,12)
doc.close()
word.quit()

四、xls格式转换为xlsx

from win32com.client import dispatch
old_file_path = r"c:/users/ypzhao/desktop/毕业论文.xls"
new_file_path = r"c:/users/ypzhao/desktop/毕业论文_convert.xlsx"

excel = dispatch('excel.application')
wb = excel.workbooks.open(old_file_path)
wb.saveas(new_file_path,51)
wb.close()
excel.quit()

五、pdf批量转换成docx

通过使用 pdf2docx 库实现了将 pdf 格式的文件批量转换为 docx 格式的文件。

首先,定义变量 path 和 path_convert 分别表示原文件所在目录和转换后文件存储目录。此处分别为 “c:/users/ypzhao/desktop/pdf/” 和 “c:/users/ypzhao/desktop/docx/”。

然后,使用 os 模块中的 listdir 方法遍历目录下所有文件,判断文件类型如果是 pdf,则进行转换。利用 converter 类打开 pdf 文件,指定转换后的目标文件名为 {file_name}.docx,并调用 convert 方法将其转换为 docx 文件,并指定页码范围。最后,关闭 converter 对象,转换完成。

import os
from pdf2docx import converter

path = "c:/users/ypzhao/desktop/pdf/"
path_convert = "c:/users/ypzhao/desktop/docx/"

for i in os.listdir(path):
    file_name,file_suffix = i.split(".")
    if file_suffix == "pdf":
        cv = converter(path+f"{i}")
        cv.convert(path_convert+f"{file_name}"+".docx", start=0, end=none)
        cv.close()
    else:
        pass

六、docx批量转成pdf

from time import sleep
import os
from win32com.client import dispatch

path = "c:/users/ypzhao/desktop/docx/"
path_convert = "c:/users/ypzhao/desktop/pdf/"
print("-----doc开始转换为docx-----")

for i in os.listdir(path):
    file_name,file_suffix = i.split(".") 
    if file_suffix == "doc":
        word = dispatch('word.application')
        doc = word.documents.open(path+f"{i}")
        doc.saveas(path+f"{file_name}.docx",fileformat=12)
        print(i,"转换完成")
        doc.close()
        word.quit()
        sleep(3)

print("-----开始转换为pdf-----")
for i in os.listdir(path):
    file_name,file_suffix = i.split(".") 
    if file_suffix == "docx":
        word = dispatch('word.application')
        doc = word.documents.open(path+f"{i}")
        doc.saveas(path_convert+f"{file_name}.pdf",fileformat=17)
        print(i,"...转换完成")
        doc.close()
        word.quit()
        sleep(3)
    else:
        pass

这段代码的作用是将指定目录下的 word 文档(.doc)转换为 word 文档(.docx),然后再将其转换为 pdf 格式。

其中,代码中使用了 sleep(3) 函数来暂停程序执行,是为了避免在 word 应用程序未完全关闭之前就打开下一个文档导致程序出错。

需要注意的是,由于在进行文档转换时可能会出现各种问题,例如格式错误、页面布局混乱等,因此建议在转换完成后手动检查一下转换后的文档是否正常。

以上就是python代码实现pdf与word之间互转的详细内容,更多关于python pdf与word互转的资料请关注代码网其它相关文章!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com