当前位置: 首页>移动开发>正文

教你批量快速实现pdfpng转word

教你批量快速实现pdfpng转word,第1张
图片
最近在和一个朋友聊天时候,偶然了解到她为了把pdf/png转成word,特地开了一个WPS的会员(她是做行政岗的,经常需要把文档转换成word),于是我给她写了一个pdf/png转word的代码,速度又快又免费。
教你批量快速实现pdfpng转word,第2张
图片

既然有"好东西",怎么能不和我的小伙伴们分享呢,来看下整个实现的过程。step1 首先需要我们申请下百度文字识别的API如下图,其中APP_ID,API_KEY,SECRECT_KEY是我们后面要用到的:

教你批量快速实现pdfpng转word,第3张
图片

step2 安装所需的模块:

# 这三个python中默认已安装,所以不用安装了
import sys
import os
import glob

pip install docx
pip install PIL
pip install baidu-aip 
pip install pdf2docx

# 在安装aip这个模块时,差点坑到我,模块真实名字叫做baidu-aip,
# 调用的时候却是aip,这真TM狗。

# 加载需要的功能函数
import sys
import os
import glob
from docx import Document
from os import path
from aip import AipOcr
from PIL import Image

step3 开始写pdf/png转word的函数:

# png 转 word
def baiduOCR(picfile, outfile):
    """
    利用百度api识别文本,并保存提取的文字
    picfile:    图片文件名
    outfile:    输出文件名
    """
    # step1 配置api信息
    APP_ID = 'xxx'
    API_KEY = 'xxxxxxxx'
    SECRECT_KEY = 'xxxxxxxxxxxxxx'
    client = AipOcr(APP_ID, API_KEY, SECRECT_KEY)

    # step2 图片识别参数设置及调用api
    filename = path.basename(picfile)
    imgRead = open(picfile, 'rb').read()
    print("正在识别图片:\t" + filename)
    
    """ 可选参数 """
    options = {"language_type": "CHN_ENG",
               "detect_direction": "true",
               "detect_language": "true",
               "probability": "true"}
    message = client.basicAccurate(imgRead,options=options)   # 通用文字高精度识别
    print("识别成功!")

    # step3 结果保存
    if path.exists(outfile):
        os.remove(outfile)
    document = Document()
    for text in message["words_result"]:
        document.add_paragraph(text["words"])
    document.save(outfile)
baiduOCR(picfile, outfile)
# picfile:你实际的png文件名
# outfile:输出结果的文件名


# pdf 转 word
from pdf2docx import Converter
pdf_file = './example/test.pdf'
docx_file = './sample.docx'

# convert pdf to docx
cv = Converter(pdf_file)
cv.convert(docx_file,start=0, end=None)     # all pages by default
cv.close()

https://www.xamrdz.com/mobile/49m1905209.html

相关文章: