python提取pdf图片

这篇具有很好参考价值的文章主要介绍了python提取pdf图片。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import fitz
import re
import os


def save_pdf_img(path, save_path):
    '''
    path: pdf的路径
    save_path : 图片存储的路径
    '''
    # 使用正则表达式来查找图片
    checkXO = r"/Type(?= */XObject)"
    checkIM = r"/Subtype(?= */Image)"
    # 打开pdf
    doc = fitz.open(path)
    # 图片计数
    imgcount = 0
    # 获取对象数量长度
    lenXREF = doc.xref_length()

    # 打印PDF的信息
    print("文件名:{}, 页数: {}, 对象: {}".format(path, len(doc), lenXREF - 1))

    # 遍历每一个图片对象
    for i in range(1, lenXREF):
        # 定义对象字符串
        text = doc.xref_object(i)
        #         print(i,text)
        isXObject = re.search(checkXO, text)
        # 使用正则表达式查看是否是图片
        isImage = re.search(checkIM, text)
        # 如果不是对象也不是图片,则continue
        if not isXObject or not isImage:
            continue
        imgcount += 1
        # 根据索引生成图像
        pix = fitz.Pixmap(doc, i)
        # 根据pdf的路径生成图片的名称
        new_name = path.replace('\\', '_') + "_img{}.png".format(imgcount)
        new_name = new_name.replace(':', '')
        # 如果pix.n<5,可以直接存为PNG
        if pix.n < 5:
            pix.save(os.path.join(save_path, new_name))
        # 否则先转换CMYK
        else:
            pix0 = fitz.Pixmap(fitz.csRGB, pix)
            pix0.save(os.path.join(save_path, new_name))
            pix0 = None
        # 释放资源
        pix = None
        print("提取了{}张图片".format(imgcount))


# pdf路径
path = r'C:\save\1.pdf'
save_path = r'C:\save'
save_pdf_img(path, save_path)

文章来源地址https://www.toymoban.com/news/detail-638117.html

到了这里,关于python提取pdf图片的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 通过Python的PyPDF2库提取pdf中的图片

    大家好,我是空空star,本篇给大家分享一下通过Python的PyPDF2库 提取pdf中的图片 。 上一篇已经给大家分享了 提取pdf中的文字 ,感兴趣的同学可以阅读下。 本篇演示所用python版本: Python 3.8.9 通过Python的PyPDF2库提取pdf中的文字 PyPDF2库是一个用于处理PDF文件的Python库。它提供了

    2024年02月06日
    浏览(50)
  • (保姆级)服务器-Zabbix6.0使用Python脚本实现带图片的邮箱的报警

    近期在琢磨Zabbix邮箱报警的功能,但是网上的教程通常是4.0或5.0版本Zabbix,并使用Python2.7环境,运行在新版本Zabbix6.0上有颇多问题,为此我基于原先教程修改基于Zabbix6.0并使用Python3+的解决方案。期间遇到不少坑,特此分享。 Zabbix是自带的邮箱的报警功能有限,比如不能实现诸

    2024年01月24日
    浏览(45)
  • [小程序]向服务器上传图片和从服务器下载图片

    本例的服务器基于flask,配置flask可以参见 [Flask]上传多个文件到服务器 https://blog.csdn.net/weixin_37878740/article/details/128435136?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170581653516800185854860%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257Drequest_id=170581653516800185854860biz_id=0utm_m

    2024年02月20日
    浏览(47)
  • 图片、文件资源服务器(minio服务器)

    1.MinioConfig配置类 2.MinioUtil工具类 3.对应使用方法

    2024年02月11日
    浏览(54)
  • 【PDF.js】PDF.js部署到服务器提示找不到mjs文件

    例如:项目场景:要做一个扫描二维码跳转到网页预览PDF的功能。 本来是直接用iframe标签直接加载PDF文件,结果在Android手机上无法预览,于是看网上有人说用pdf.js可以。不过下载之后放到服务器上一访问总是提示找不到pdf.mjs和viewer.mjs.map这两个文件,提示404,本地可以。 尝

    2024年04月13日
    浏览(46)
  • 功能需求-根据页面生成pdf,pdf不需要下载只需把文件流上传到服务器

    根据自身当下技术的水平和实际情况,做一个简单的记录。 在项目中有采购合同和销售合同,这些合同新建好之后都需要有人去审核,审核通过后需要把合同生成一个pdf文件然后后端给保存起来 在项目中有采购合同和销售合同,这些合同新建好之后都需要有人去审核,审核

    2024年02月13日
    浏览(47)
  • 在服务器上部署 Nginx 并设置图片服务器

    当您在服务器上部署 Nginx 并设置图片服务器时,以下是大致的步骤: 1. **安装 Nginx**:使用适用于您的操作系统的包管理器安装 Nginx。 2. **编辑 Nginx 配置文件**:找到 Nginx 的配置文件,通常位于 `/etc/nginx/nginx.conf` 或 `/etc/nginx/conf.d/default.conf`。使用文本编辑器打开该文件。

    2024年02月11日
    浏览(47)
  • PDF控件Spire.PDF for .NET【安全】演示:使用时间戳服务器对 PDF 进行数字签名

    Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。 E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件

    2024年04月10日
    浏览(55)
  • 图片服务器

    图片服务器:解决项目中插入图片的问题 1.功能/接口 显示图片列表 显示图片内容 上传图片 删除图片 模拟的html要展示的图片列表: 因为存在上传和删除操作,所以列表是动态变化=需要是动态网页 (1) servlet返回Java字符串拼接的html内容 (2) 模板技术 (3) ajax 根据响应来动态生成

    2024年02月07日
    浏览(22)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包