python根据页面页码读取doc页面文本的最佳实现

import win32com.client
import comtypes.client
import pdfplumber
def CountPages(Filepath):
    word = win32com.client.Dispatch('Word.Application')
    wdFormatPDF = 17
    in_file = Filepath
    out_file = "out.pdf"
    word = comtypes.client.CreateObject('Word.Application')
    doc = word.Documents.Open(in_file)
    doc.SaveAs(out_file, FileFormat=wdFormatPDF)
    doc.Close()
    word.Quit()
    with pdfplumber.open(out_file) as pdf:        
        count=0
        for page in pdf.pages:
            out=page.extract_text()
            if "申请号:" in out and "审 查 意 见 通 知 书" in out:
                count=0
            count+=1
            print(page.extract_text())
        print(count,"页")
        return count

python大量的库都只能处理docx文件,并且稳定性堪忧。

所以可以考虑将doc文件直接转化成pdf文件,这样可以完整的1:1复刻页面内容,并且每一页的内容都是完美复刻,不会变形。

然后用pdfplumber读取每页的页面内容即可,这里不要用pypdf2提取的文本是乱码,pdfplumber这个库绝对是上上选。

通过上述的方法可以根据word的页面来精确提取其文本内容。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值