使用Python从pdf中提取图像

2024-03-29

我们如何从PDF中提取图像(仅图像)。

我使用了很多在线工具,它们都不是通用的。在大多数 PDF 中,它使用整个图像的屏幕截图而不是图像。 PDF链接 -> sg.inflibnet.ac.in:8080/jspui/bitstream/10603/121661/9/09_chapter 4.pdf


这是 PyMuPDF 的解决方案:

#!python3.6
import fitz  # PyMuPDF


def get_pixmaps_in_pdf(pdf_filename):
    doc = fitz.open(pdf_filename)
    xrefs = set()
    for page_index in range(doc.pageCount):
        for image in doc.getPageImageList(page_index):
            xrefs.add(image[0])  # Add XREFs to set so duplicates are ignored
    pixmaps = [fitz.Pixmap(doc, xref) for xref in xrefs]
    doc.close()
    return pixmaps


def write_pixmaps_to_pngs(pixmaps):
    for i, pixmap in enumerate(pixmaps):
        pixmap.writePNG(f'{i}.png')  # Might want to come up with a better name


pixmaps = get_pixmaps_in_pdf(r'C:\StackOverflow\09_chapter 4.pdf')
write_pixmaps_to_pngs(pixmaps)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用Python从pdf中提取图像 的相关文章

随机推荐

  • 以编程方式或声明方式要求 IIS 中单个 asp.net 页面的客户端证书

    标题几乎说明了这一点 我已经推出了一个带有 SSL 证书的 IIS 7 网站 现在愿意为单个页面设置 SSL 设置 客户端证书 接受 但是以编程方式或声明方式 我找到了一种使用 IIS 管理器执行此操作的方法 但由于某些基础结构限制 我们需
  • 具有 beginwait 函数的信号量

    我正在使用 begin end 编写一个异步库 并且需要锁定对象 目前 我正在使用信号量执行此操作 但调用semaphore WaitOne 在调用该线程的地方挂起该线程 我宁愿使用像 BeginWait 这样的东西 这样它会立即返回并在信
  • Python使用sudo启动时找不到模块

    我有一个使用 Google Assistant 库的脚本 并且必须从那里导入一些模块 我发现这只适用于 Python 虚拟环境 这真的很奇怪 在同一个文件夹中 我有一个使用 GPIO 引脚并且必须使用 root 的脚本 它们相互交互 因此当
  • 文本区域值未随表单一起发布

    我在提交表单时尝试输入文本区域标记
  • 使用 CXF Web 服务进行服务器端 XML 验证

    我正在开发 Apache CXF Web 服务 使用 JAX WS 通过 SOAP 该服务本身非常简单 接收请求 将请求插入数据库 然后返回插入是否成功 我想依靠 XML 验证来对请求实施一些约束 那么 我的问题 如何向我的服务客户返回详细
  • 如何拒绝所有用户删除表

    在 SQL Server 2005 中 有没有一种方法可以使用单个语句来拒绝删除行 在数据库所有用户的特定表中 尝试这个 CREATE TRIGGER yourTriggerName ON YourTableName INSTEAD OF
  • Spark 驱动程序不会因异常而崩溃

    我们在 Kubernetes 上以客户端模式运行 Spark 3 1 1 我们是一个简单的 scala Spark 应用程序 它从 S3 加载 parquet 文件并聚合它们 sparkSession read parquet paths
  • 如何禁用 TensorFlow 的急切执行?

    我正在尝试学习 TensorFlow 目前 我正在使用占位符 当我尝试创建占位符时 出现错误 RuntimeError tf placeholder is not compatible with eager execution 这是有道理的
  • Android SQLite数据库查询排序顺序

    我的数据库中有这样的数据 Alice anderson Beatrice benny Carmen calzone 使用此代码 mDb query DATABASE NAMES TABLE new String KEY ROWID KEY
  • 如何使用 Opencv 存储大量图像的分层 K 均值树?

    我正在尝试制作一个程序 可以从图像数据集中找到相似的图像 步骤是 提取所有图像的 SURF 描述符 存储描述符 对存储的描述符应用 knn 使用 kNN 将存储的描述符与查询图像描述符进行匹配 现在每个图像 SURF 描述符将存储为分层 k
  • R Markdown 中未定义 Tex Proof 环境,生成的 Tex 文件中未定义 amsthm

    编辑以提供更多信息 我正在使用以下 R markdown 文件来生成以下 Tex 文件 我在 rmd 标头中包含 amsthm 它生成一个没有 amsthm 的 Tex 文件 因此 在编译期间并未定义证明环境 这是我的 rmd 文件 tit
  • Android 按钮文字外观

    我可以通过在对象内设置按钮文本外观来更改按钮文本外观 如下所示
  • javax.xml.ws.WebServiceException:找不到端口 {http://tempuri.org/}WSHttpBinding_IDWService

    我正在尝试使用 java 中的 web 服务 使用从 wsdl2java 的 wsdl 文件生成的客户端 我使用的是 Eclipse 版本 Helios 和 jdk 1 6 0 20 并且我使用 wsld2java 生成了 class 文件
  • jQuery 的 getScript 和本地文件系统——限制/替代方案?

    现在我正在开发一个基于本地文件系统的帮助系统 它旨在随不在支持互联网的计算机上使用的产品一起提供 因此它必须是一个独立的网页 不依赖于 Web 服务器 这带来了一些挑战 也就是说 文件所在的目录结构需要 上下 导航才能访问显示帮助系统所需的
  • 使 eternicode datepicker 在点击时打开,而不是焦点打开

    The eternicode Twitter 引导程序日期选择器 https github com eternicode bootstrap datepicker一旦出现
  • Gunicorn 的 gthread 异步工作线程是否类似于 Waitress?

    我读过 2013 年的一些帖子 Gunicorn 团队计划构建一个线程缓冲层工作模型 类似于 Waitress 的工作方式 这就是 gthread 异步工作线程的作用吗 gthread worker 于 2014 年发布了 19 0 版本
  • PHP & MySQL 如何显示数据库中的类别和子类别

    我想知道如何使用 PHP 和 MySQL 显示我的分层数据来创建我的类别和无尽的子类别 一个关于我的 PHP 和 MySQL 代码应该是什么样子的快速示例将会有很大帮助 MySQL 表类别结构 id parent id category 1
  • JTable 未显示在 JFrame (Java) 上

    我遇到了一个问题JFrame没有显示JTable添加到其中 我试过了getContentPane add 我已改为仅添加以使代码更短一些 任何帮助都非常感激 package com embah Accgui import java awt
  • Lisp 当前内存使用情况

    我需要从 Common Lisp 程序中找出当前使用了多少内存 我知道没有可移植的方法 标准函数room以文本形式将信息打印到标准输出 而不是将其作为值返回 但是sb kernel dynamic usage在 SBCL 工作 其他 Com
  • 使用Python从pdf中提取图像

    我们如何从PDF中提取图像 仅图像 我使用了很多在线工具 它们都不是通用的 在大多数 PDF 中 它使用整个图像的屏幕截图而不是图像 PDF链接 gt sg inflibnet ac in 8080 jspui bitstream 1060