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

前言

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

通过Python的PyPDF2库提取pdf中的文字

一、PyPDF2库是什么?

PyPDF2库是一个用于处理PDF文件的Python库。它提供了一系列的工具来读取、编辑、合并、拆分和加密PDF文件,使得我们可以在Python环境下轻松地对PDF文件进行操作。
使用PyPDF2库,我们可以轻松地读取PDF文件中的文本和元数据信息,如标题、作者、主题和关键字等。同时,我们可以将多个PDF文件合并成一个文件,或者将一个PDF文件拆分成多个文件。此外,还可以对PDF文件进行加密,以保护其内容不被未授权的访问者所查看。
除此之外,PyPDF2库还支持对PDF文件进行旋转和裁剪操作,使得我们可以调整PDF文件中的页面排版和大小。同时,它还提供了一些高级功能,如添加水印、添加书签、添加注释等,使得我们可以为PDF文件添加更多的信息和内容。
总的来说,PyPDF2库提供了一系列功能强大的工具,可以帮助我们轻松地处理PDF文件。它可以应用于很多场景,如文档管理、电子出版、数据分析等领域,是Python开发者们不可或缺的工具。

二、安装PyPDF2库

pip install PyPDF2

三、查看PyPDF2库版本

pip show PyPDF2

Name: PyPDF2
Version: 3.0.1
Summary: A pure-python PDF library capable of splitting, merging, cropping, and transforming PDF files
Home-page:
Author:
Author-email: Mathieu Fenniak [email protected]
License:
Requires: typing_extensions
Required-by:

四、使用方法

待提取的pdf截图

1.引入库

import PyPDF2

2.定义pdf路径

local = '/Users/kkstar/Downloads/'

3.打开PDF文件

pdf_file = open(local+'demo_pic.pdf', 'rb')

4.创建PDF阅读器对象

pdf_reader = PyPDF2.PdfReader(pdf_file)

5.获取PDF文件中的页数

num_pages = len(pdf_reader.pages)

6.遍历每一页进行处理

# 遍历每一页
for page_num in range(num_pages):
    # 获取当前页对象
    page_obj = pdf_reader.pages[page_num]
    # 获取当前页中的所有对象
    page_objs = page_obj['/Resources']['/XObject'].get_object()
    # 遍历每个对象
    for obj_name in page_objs:
        # 判断对象是否为图片
        if page_objs[obj_name]['/Subtype'] == '/Image':
            # 获取图片对象
            img_obj = page_objs[obj_name]
            # 获取图片数据
            img_data = img_obj.get_data()
            # 将图片数据保存为文件
            with open(local+obj_name + '.jpg', 'wb') as img_file:
                img_file.write(img_data)

7.提取出来的图片

总结

猜你喜欢

转载自blog.csdn.net/weixin_38093452/article/details/130815851