下面是一些使用pyPdf读取PDF文件、提取图像并将它们生成为PIL.Image的代码。你需要根据自己的需要修改它,这里只是演示如何遍历对象树。在import io

import pyPdf

import PIL.Image

infile_name = 'my.pdf'

with open(infile_name, 'rb') as in_f:

in_pdf = pyPdf.PdfFileReader(in_f)

for page_no in range(in_pdf.getNumPages()):

page = in_pdf.getPage(page_no)

# Images are part of a page's `/Resources/XObject`

r = page['/Resources']

if '/XObject' not in r:

continue

for k, v in r['/XObject'].items():

vobj = v.getObject()

# We are only interested in images...

if vobj['/Subtype'] != '/Image' or '/Filter' not in vobj:

continue

if vobj['/Filter'] == '/FlateDecode':

# A raw bitmap

buf = vobj.getData()

# Notice that we need metadata from the object

# so we can make sense of the image data

size = tuple(map(int, (vobj['/Width'], vobj['/Height'])))

img = PIL.Image.frombytes('RGB', size, buf,

decoder_name='raw')

# Obviously we can't really yield here, do something with `img`...

yield img

elif vobj['/Filter'] == '/DCTDecode':

# A compressed image

img = PIL.Image.open(io.BytesIO(vobj._data))

yield img

python 读取pdf图片_使用Python从pdf中提取图像相关推荐

  1. python读取bmp图片_用Python读取bmp文件

    我意识到这是一个老问题,但我自己解决这个问题时发现了这个问题,我想这可能会在将来帮助别人. 实际上很容易将BMP文件读取为二进制数据.当然,这取决于你需要支持的范围有多广,需要支持的角落案例有多少. ...

  2. python 读取excel图片_如何用Python读取Excel中图片?

    公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...

  3. python pypdf2另存为图片_用Python玩转PDF的各种骚操作

    文/Python数据科学  图片来源于网络 Portable Document Format(可移植文档格式),或者PDF是一种文件格式,可以用于跨操作系统的呈现和文档交换.尽管PDF最初是由Adob ...

  4. python 还原九宫格图片_用Python做一个好玩的朋友圈九宫格抽奖

    最近在朋友圈看到个好玩的抽奖九宫格: 随便点开一个: 设计思路 以朋友圈中看到的1号图做参考,我们需要准备 300*900 的白色底图,搞笑表情图,广告语,中间一个醒目的数字编号,外加下方的嘲讽&qu ...

  5. python读取第二行_使用Python操作Excel(二):读取数据表

    上一节我们提到,使用openpyxl可以方便的对数据表进行操作,例如:抽象Excel数据并存入数据库 将数据库数据导出到Excel 给一个已存在的数据表追加信息 我们还介绍了一些Excel的基本术语, ...

  6. python读取xls文件_从python中的xls读取unicode

    我正在尝试使用 Python读取.xls文件.该文件包含多个非ascii字符(即äöü).我已经尝试过使用openpyxls和xlrd(我对xlrd寄予厚望,因为它无论如何都会读取unicode中的所 ...

  7. python读取sas数据集_利用Python获取SAS和R自带数据集

    图:北京-奥森公园-2018年4月 无论是SAS.R还是Python,本身都自带一些数据集,对于初学者来说,可以通过这些自带的小数据集进行编程练习,无疑是非常方便的.SAS.R作为统计分析软件,本身自 ...

  8. python显示gif图片_利用Python制作GIF图片

    #Python制作GIF图片 import imageio def create_gif(image_list, gif_name, duration = 0.1): ''' :param image ...

  9. python 查找损坏图片_使用Python查找损坏的图像

    python 查找损坏图片 赶上本系列: 第1部分:使用Python自动执行数字艺术家的重复任务 第2部分:针对数字艺术家的Python文件管理技巧 如果您正在计算机上处​​理图像,那么最终一定会遇到 ...

最新文章

  1. Java与JavaScript 完美实现字符串拆分(利用数组存储)与合并的互逆操作
  2. 设计模式-Strategy模式
  3. java Io流实现图片复制
  4. python 优雅的解析 jsonp
  5. mdp框架_强化学习:MDP(Markov Decision Process)
  6. bigdecimal如何做除法_公务员行测朴素逻辑解题技巧—代入排除法
  7. worker进程和task进程区别_swoole中使用task进程异步的处理耗时任务
  8. 不用加好友,查看对方校内照片
  9. C语言实现String字符串及其函数
  10. 在QQ浏览器打开html,QQ浏览器显示网页打开错误的解决方法
  11. 敬仰之情犹如滔滔江水。。。
  12. 把计算机过程描述,计算机解决问题的过程
  13. 实战python网络爬虫豆瓣_三分钟教会你利用Python爬虫实现豆瓣电影采集(实战篇)...
  14. 登录界面——渗你千千万万遍
  15. Sqoop 实际应用及样例
  16. NLM_P-Parameter-Free Fast Pixelwise Non-Local Means Denoising分享
  17. web js活码生成二维码
  18. 后疫情时代,VR购物—零售业的硬核破局之道
  19. k8s pod 在节点间调度控制
  20. 期货策略matlab,用BP神经网络,分析期货数据,附详细代码

热门文章

  1. 燕山大学计算机专业前景,燕山大学值得考吗?2020多少分能上燕山大学?
  2. 这届年轻人根本不怕996,怕的是……
  3. 谷歌浏览器跳出搜狗网址导航
  4. 正确把握客户关系管理
  5. 【安卓】Android Studio 无法识别手机解决办法
  6. 绝地求生总是崩溃,显示外部软件冲突
  7. 一代计算机内存条,内存条DDR1到4分别有什么区别呢?
  8. 天逸F41 完美安装MAC系统
  9. Excel公式中符号使用详解
  10. lvgl移植—Linux fbdevevdev(基于LVGL v7)