python 调用 office 实现自动 pdf转word

前言

pdf转word一直是个问题,尝试了很多方法,解析图片识别图片之类的,最后发现office的pdf转word功能是最好的,微软不愧是微软呀。

需求

需要windows系统并安装office

代码原理

office的word是可以直接打开并转换pdf的。并且效果很不错。

手动测试一下:

随便找到一个pdf,右键-》打开方式-》选择其他应用-》找到word

打开之后会出现一个弹窗,选上不再显示,点确定(我不知道这个弹窗会不会影响代码,如果代码失败,那就手动先点一下这个弹窗再运行代码)

 然后word会自动帮你把pdf转成word,图片类型的会自动识别成文本,放到合适的位置上去。整体效果还是很不错的。带章的图片文件甚至会把章抠出来做为图片,剩下的文字形成文本存成word,超智能。

代码

import win32com.client as win32
import os

word = win32.gencache.EnsureDispatch('Word.Application')
# 是否显示。如果这里是True,桌面上会展示打开word再关掉的过程。
# 是False的话这个过程不会显示出来
word.Visible =False
output = word.Documents.Add()   
output.Application.Selection.InsertFile('111.pdf')
output.SaveAs('111.docx') 
output.Close()

基础代码是这样,如果需要批量的话自己改一下脚本。

如果首次安装word后代码不成功,重启下电脑试试。

缺陷

还是有一些问题的:

1、慢。这个东西占cpu和内存,尝试转了一个120M的pdf,笔记本电脑卡了20分钟左右吧。资源占满了的话没法用多线程提速。

2、没法直接在linux服务器上部署。预想解决方案为:在docker里弄一个windows镜像装上office来部署。还没尝试。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值