python简单实现pdf转图片再转文字

该博客围绕Python与图像识别展开,虽未给出具体内容,但可知运用Python进行图像识别相关操作,Python作为常用编程语言,在图像识别领域有广泛应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



def pdf_to_img():
    print("请输入pdf文件路径")
    # 需要转换的pdf文件路径
    pdfPath = tkinter.filedialog.askopenfilename()
    father_path = os.path.abspath(os.path.dirname(pdfPath) + os.path.sep + ".")
    doc = fitz.open(pdfPath)
    imgFile = father_path + '\\img'
    if(os.path.exists(imgFile)):
        shutil.rmtree(imgFile)
    os.mkdir(imgFile)
    print("正在转换中~~~~")
    pageCount = 100/doc.pageCount
    beilv = pageCount
    for pg in range(doc.pageCount):
        print(str(round(pageCount, 2)) + '%')
        pageCount += beilv
        page = doc[pg]
        rotate = int(0)
        # 每个尺寸的缩放系数为2,这将为我们生成分辨率提高四倍的图像。
        zoom_x = 2.0
        zoom_y = 2.0
        trans = fitz.Matrix(zoom_x, zoom_y).preRotate(rotate)
        pm = page.getPixmap(matrix=trans, alpha=False)
        pm.writePNG(imgFile + '\\%s.png' % pg)
    return imgFile

def convertImg():
    # pdf转换成一个一个图片的图片存放路径
    imgPath = pdf_to_img()
    print("已完成pdf转换至图片的任务~")
    # 转换成功后的文件路径
    wordFile = tkinter.filedialog.asksaveasfilename()
    APP_ID = "23403595"
    API_KEY = "MIvoIhkmsYHPiA2LOZmSu3o3"
    SECRET_KEY = "E063BVdf2kemnjF4hv9lcG0Xg5Of065k"
    client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
    imgs = os.listdir(imgPath)
    if not os.path.exists(wordFile):
        os.mknod(wordFile)
    wordFileName = open(wordFile, 'w')
    processCount = 100/len(imgs)
    beilv = processCount
    print("正在将文字存至电脑中~~~")
    for img in imgs:
        print(str(round(processCount, 2)) + '%')
        processCount += beilv
        dakai = open(imgPath + "/" + img, "rb")
        duqu = dakai.read()
        message = client.basicGeneral(duqu)
        for duqu in message.get("words_result"):
            words = duqu.get("words")
            wordFileName.write(words)
        wordFileName.write("\r\n")
    if (os.path.exists(imgPath)):
        shutil.rmtree(imgPath)
    print("完成")



if __name__ == '__main__':
    convertImg()







评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

淳杰

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值