主要利用了Adobe Acrobat DC软件的能力
安装win32com
pip install win32com
如果直接pip installl win32com可能找不到安装包。
若要使用win32com模块,则可以使用
python -m pip install pypiwin32
命令:
下载Adobe Acrobat DC
https://helpx.adobe.com/cn/download-install.html
执行代码
# 导入必要的库
from win32com.client.dynamic import Dispatch, ERRORS_BAD_CONTEXT
import os
import winerror
# 将 winerror.E_NOTIMPL 添加到 ERRORS_BAD_CONTEXT 列表中,以处理特定错误
ERRORS_BAD_CONTEXT.append(winerror.E_NOTIMPL)
# 获取当前目录中所有以 ".pdf" 结尾的文件
files = list(filter(lambda f: f.endswith('.pdf'), os.listdir()))
# 定义一个函数将 PDF 文件转换为 Word 文档
def pdf2word(f_path, d_path):
try:
# 创建 Acrobat 文档对象
AvDoc = Dispatch("AcroExch.AVDoc")
# 打开 PDF 文件
AvDoc.Open(f_path, "")
# 获取 PDF 文档对象
pdDoc = AvDoc.GetPDDoc()
# 获取 JavaScript 对象
jsObject = pdDoc.GetJSObject()
# 将 PDF 文档另存为 Word 文档
jsObject.SaveAs(d_path, "com.adobe.acrobat.docx")
# 打印转换成功信息
print('ok')
except Exception as e:
# 打印转换失败信息
print('error')
print(e)
finally:
# 关闭 PDF 文档
pdDoc.Close()
# 关闭 Acrobat 文档
AvDoc.Close(True)
# 创建 "output" 目录用于存储转换后的 Word 文档
os.mkdir('output')
# 遍历所有 PDF 文件
for file in files:
# 打印正在转换的文件名
print('convert:', file)
# 获取输出文件路径
out_file = file.replace('.pdf', '.docx')
f_path = os.path.abspath(file)
d_path = os.path.abspath('output/' + out_file)
# 调用 pdf2word 函数进行转换
pdf2word(f_path, d_path)
本文由 小马哥 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为:
2024/04/10 00:55