文章目录
- 前言
- 一、fitz库是什么?
- 二、安装fitz库
- 三、查看fitz库版本
- 四、pymupdf库是什么?
- 五、安装pymupdf库
- 六、查看pymupdf库版本
- 七、fitz和pymupdf是什么关系?
- 八、提取pdf中的图片
- 总结
前言
大家好,我是空空star,本篇给大家分享一下
《通过Python的fitz库提取pdf中的图片》
。
一、fitz库是什么?
Fitz库是一个Python图像处理库,主要用于打开、编辑和保存PDF、TIFF和JPEG格式的图像。它可以帮助用户读取和写入PDF文件,提取PDF页面以及在页面上进行标记和注释。此外,Fitz库还提供了一些图像处理功能,如旋转、裁剪、缩放、调整亮度、对比度和色彩平衡等。这些功能使得Fitz库成为一个非常实用的图像处理工具。
二、安装fitz库
pip install fitz
三、查看fitz库版本
pip show fitz
Name: fitz
Version: 0.0.1.dev2
Summary: Fitz: Workflow Mangement for neuroimaging data.
Home-page: http://github.com/kastman/fitz
Author: Erik Kastman
Author-email: erik.kastman@gmail.com
License: BSD (3-clause)
Requires: configobj, configparser, httplib2, nibabel, nipype, numpy, pandas, pyxnat, scipy
Required-by:
四、pymupdf库是什么?
使用fitz,需要安装pymupdf库。
PyMuPDF 是一个基于 Python 的开源 PDF 处理库,提供了一系列的 PDF 文档处理功能,如读取、编辑、创建、转换等。它是 MuPDF 的 Python 绑定,MuPDF 是一款轻量级的开源 PDF 文档渲染引擎,支持多种平台和多种文件格式。
PyMuPDF 具有快速、高效、简单易用等特点,可以用于 PDF 文档的自动化处理和批量处理,比如提取文本、提取图片、添加或修改书签、添加或修改注释、合并 PDF 文件、切割 PDF 文件、提取 PDF 页面等。同时,它还支持 PDF 渲染成图片,方便快速预览和生成缩略图。
总之,PyMuPDF 是一个非常实用的 Python PDF 处理库,适用于多种场景,如数据处理、文档处理、自动化办公等。
五、安装pymupdf库
pip install pymupdf
六、查看pymupdf库版本
pip show pymupdf
Name: PyMuPDF
Version: 1.22.3
Summary: Python bindings for the PDF toolkit and renderer MuPDF
Home-page: https://github.com/pymupdf/PyMuPDF
Author: Artifex
Author-email: support@artifex.com
License: GNU AFFERO GPL 3.0
Requires:
Required-by:
七、fitz和pymupdf是什么关系?
fitz 是 Pymupdf 库的一个模块,它是 Pymupdf 的主要模块之一,也是最常用的模块。fitz 模块提供了对 PDF 文档的基本操作,如打开、读取、编辑、保存等。
八、提取pdf中的图片
1.引入库
import fitz
2.定义pdf路径
local = '/Users/kkstar/Downloads/'
3.打开PDF文件
pdf_doc = fitz.open(local+'demo_pic.pdf')
4.遍历所有页面
for pg in range(pdf_doc.page_count): page = pdf_doc[pg]
5.获取页面上所有图像
image_list = page.get_images()
6.遍历所有图像
for img in image_list:
7.获取图像的XREF编号和图像数据
xref = img[0] pix = fitz.Pixmap(pdf_doc, xref)
8.如果图像是RGB颜色空间,则保存为PNG文件
if str(fitz.csRGB) == str(pix.colorspace): img_path = local + f'image{pg+1}_{xref}.png' pix.save(img_path)
总结
提取图片效果
来源地址:https://blog.csdn.net/weixin_38093452/article/details/130950144