Python知識(shí)分享網(wǎng) - 專業(yè)的Python學(xué)習(xí)網(wǎng)站 學(xué)Python,上Python222
通過(guò)Python的fitz庫(kù)提取pdf中的圖片
匿名網(wǎng)友發(fā)布于:2023-06-27 09:55:17
(侵權(quán)舉報(bào))

一、fitz庫(kù)是什么?


Fitz庫(kù)是一個(gè)Python圖像處理庫(kù),主要用于打開(kāi)、編輯和保存PDF、TIFF和JPEG格式的圖像。它可以幫助用戶讀取和寫入PDF文件,提取PDF頁(yè)面以及在頁(yè)面上進(jìn)行標(biāo)記和注釋。此外,F(xiàn)itz庫(kù)還提供了一些圖像處理功能,如旋轉(zhuǎn)、裁剪、縮放、調(diào)整亮度、對(duì)比度和色彩平衡等。這些功能使得Fitz庫(kù)成為一個(gè)非常實(shí)用的圖像處理工具。

 

二、安裝fitz庫(kù)
 

pip install fitz

 

三、查看fitz庫(kù)版本

 

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庫(kù)是什么?


使用fitz,需要安裝pymupdf庫(kù)。

PyMuPDF 是一個(gè)基于 Python 的開(kāi)源 PDF 處理庫(kù),提供了一系列的 PDF 文檔處理功能,如讀取、編輯、創(chuàng)建、轉(zhuǎn)換等。它是 MuPDF 的 Python 綁定,MuPDF 是一款輕量級(jí)的開(kāi)源 PDF 文檔渲染引擎,支持多種平臺(tái)和多種文件格式。
PyMuPDF 具有快速、高效、簡(jiǎn)單易用等特點(diǎn),可以用于 PDF 文檔的自動(dòng)化處理和批量處理,比如提取文本、提取圖片、添加或修改書簽、添加或修改注釋、合并 PDF 文件、切割 PDF 文件、提取 PDF 頁(yè)面等。同時(shí),它還支持 PDF 渲染成圖片,方便快速預(yù)覽和生成縮略圖。
總之,PyMuPDF 是一個(gè)非常實(shí)用的 Python PDF 處理庫(kù),適用于多種場(chǎng)景,如數(shù)據(jù)處理、文檔處理、自動(dòng)化辦公等。

五、安裝pymupdf庫(kù)
 

pip install pymupdf

 

六、查看pymupdf庫(kù)版本

 

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是什么關(guān)系?


fitz 是 Pymupdf 庫(kù)的一個(gè)模塊,它是 Pymupdf 的主要模塊之一,也是最常用的模塊。fitz 模塊提供了對(duì) PDF 文檔的基本操作,如打開(kāi)、讀取、編輯、保存等。

 

八、提取pdf中的圖片


1.引入庫(kù)
 

import fitz

 

2.定義pdf路徑

 

local = '/Users/kkstar/Downloads/'

 

3.打開(kāi)PDF文件

 

pdf_doc = fitz.open(local+'demo_pic.pdf')

 

4.遍歷所有頁(yè)面

 

for pg in range(pdf_doc.page_count):
    page = pdf_doc[pg]

 

5.獲取頁(yè)面上所有圖像

 

    image_list = page.get_images()

 

6.遍歷所有圖像

 

    for img in image_list:

 

7.獲取圖像的XREF編號(hào)和圖像數(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)

 

總結(jié)

pdf

通過(guò)Python的fitz庫(kù)提取pdf中的圖片 圖1

 

提取圖片效果

通過(guò)Python的fitz庫(kù)提取pdf中的圖片 圖2

轉(zhuǎn)載自:https://blog.csdn.net/weixin_38093452/article/details/130950144