Python知識分享網(wǎng) - 專業(yè)的Python學習網(wǎng)站 學Python,上Python222
通過Python的fitz庫提取pdf中的圖片
發(fā)布于:2023-06-27 09:55:17

一、fitz庫是什么?


Fitz庫是一個Python圖像處理庫,主要用于打開、編輯和保存PDF、TIFF和JPEG格式的圖像。它可以幫助用戶讀取和寫入PDF文件,提取PDF頁面以及在頁面上進行標記和注釋。此外,F(xiàn)itz庫還提供了一些圖像處理功能,如旋轉、裁剪、縮放、調整亮度、對比度和色彩平衡等。這些功能使得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 文檔處理功能,如讀取、編輯、創(chuàng)建、轉換等。它是 MuPDF 的 Python 綁定,MuPDF 是一款輕量級的開源 PDF 文檔渲染引擎,支持多種平臺和多種文件格式。
PyMuPDF 具有快速、高效、簡單易用等特點,可以用于 PDF 文檔的自動化處理和批量處理,比如提取文本、提取圖片、添加或修改書簽、添加或修改注釋、合并 PDF 文件、切割 PDF 文件、提取 PDF 頁面等。同時,它還支持 PDF 渲染成圖片,方便快速預覽和生成縮略圖。
總之,PyMuPDF 是一個非常實用的 Python PDF 處理庫,適用于多種場景,如數(shù)據(jù)處理、文檔處理、自動化辦公等。

五、安裝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編號和圖像數(shù)據(jù)

 

        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)

 

總結

pdf

通過Python的fitz庫提取pdf中的圖片 圖1

 

提取圖片效果

通過Python的fitz庫提取pdf中的圖片 圖2

轉載自:https://blog.csdn.net/weixin_38093452/article/details/130950144