python提取pdf中图片最新代码

本文分享了如何在最新版本的fitzPyMuPDF库支持下,修复并优化了从PDF文件中提取图片的代码,包括搜索图像元数据和处理不同分辨率图片的技巧。

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

在csdn上找了很多提取pdf图片的代码,发现有的函数调用不了,可能是因为kits库更新的缘故,在查阅库源代码后,更新了提取代码,如下:

#安装库:pip install fitz PyMuPDF
# 提取图片
import fitz
import re
import os
def pic(pdf_path,save_path):
    check1=r"/Subtype(?= */Image)"
    check2= r"/Type(?= */XObject)"
    pdf=fitz.open(pdf_path)
    count=0
    lenx=pdf.xref_length()
    for i in range(1,lenx):
        text = pdf.xref_object(i)  
        isXObject = re.search(check2, text)
        isImage = re.search(check1, text)
        
        
        if not isXObject or not isImage:
            continue
		
        count+=1
        pix = fitz.Pixmap(pdf, i)
		
		# 保存图像名
        img_name = "img{}.png".format(count)
        

        if pix.n < 5:
            try:
                pix.writePNG(os.path.join(save_path, img_name))
                pix = None
            except:
                pix0 = fitz.Pixmap(fitz.csRGB, pix)
                pix0.writePNG(os.path.join(save_path, img_name))
                pix0 = None

  

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值