如何利用Python将pdf文件输出为每张图片

图片[1]-如何利用Python将pdf文件输出为每张图片-云村Study

源码导入到pycharm中,如何将所需要转换的pdf重新命名为1.pdf并复制到目录中,如何运行,程序会自动在目录新建pdf文件,并将每一页内容转存到该文件夹

import fitz
import re
import os
text_data='PDF转图片助手\n这是由云上蜗壳村的蜗牛村长制作,本软件仅供学习交流,请勿用于交易、销售和违法行为\n【使用说明】\n①将软件复制到要转换的pdf所在的文件夹中,将需要转换的pdf改名为1.pdf\n②然后软件内回复1即可开始自动转换\n----------云上蜗壳村:蜗牛村长----------'
print(text_data)
def pdf2image1(path, pic_path):
    checkIM = r"/Subtype(?= */Image)" # 正则表达式
    pdf = fitz.open(path)
    lenXREF = pdf.xref_length() # 最新fitz库是没有._getXrefLength()
    show_size='成功获取到pdf文件,即将开始转换'
    print(show_size)
    count = 1
    nut=''
    for i in range(1, lenXREF):
        if nut != count:
            nut=count
            num_size = '正在进行图片转换,目前正在转换第' + str(count) + '页'
            print(num_size)
        text = pdf.xref_object(i)# 最新fitz库是没有.getObjectString()
        isImage = re.search(checkIM, text)
        if not isImage:
            continue
        pix = fitz.Pixmap(pdf, i)
        if pix.size < 10000:  # 在这里添加一处判断一个循环
            continue  # 不符合阈值则跳过至下
        new_name = f"img_{count}.png"
        pix.writePNG(os.path.join(pic_path, new_name))
        count += 1
        pix = None
    print('转换完成-by:云上蜗壳村-蜗牛村长')
pd_if=input('如果已经准备好,请回复 1 :')
if pd_if=='1':
    file_if=os.path.exists('pdf')
    if file_if==False:
        os.mkdir('pdf')
    file_if=os.path.exists('1.pdf')#需要在源码目录将pdf重新命名为1.pdf
    if file_if==False:
        print('1.pdf文件不存在')
    else:
        file_path = r'1.pdf'  # PDF 文件路径
        dir_path = r'pdf'  # 存放图片的文件夹
        pdf2image1(file_path, dir_path)



© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
如何利用Python将pdf文件输出为每张图片-云村Study
如何利用Python将pdf文件输出为每张图片
此内容为付费阅读,请付费后查看
会员专属资源
您暂无购买权限,请先开通会员
开通会员
付费阅读
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    请登录后查看评论内容