日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python pdf 图片_第一节:python提取PDF文档中的图片

發布時間:2023/12/4 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python pdf 图片_第一节:python提取PDF文档中的图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、安裝第三方類庫pymupdf:pip install pymupdf

2、安裝完成后直接上代碼,代碼如下:

import fitz

import time

import re

import os

def pdf2pic(path, pic_path):

t0 = time.clock() # 生成圖片初始時間

checkXO = r"/Type(?= */XObject)" # 使用正則表達式來查找圖片

checkIM = r"/Subtype(?= */Image)"

doc = fitz.open(path) # 打開pdf文件

imgcount = 0 # 圖片計數

lenXREF = doc._getXrefLength() # 獲取對象數量長度

# 打印PDF的信息

print("文件名:{}, 頁數: {}, 對象: {}".format(path, len(doc), lenXREF - 1))

# 遍歷每一個對象

for i in range(1, lenXREF):

text = doc._getXrefString(i) # 定義對象字符串

isXObject = re.search(checkXO, text) # 使用正則表達式查看是否是對象

isImage = re.search(checkIM, text) # 使用正則表達式查看是否是圖片

if not isXObject or not isImage: # 如果不是對象也不是圖片,則continue

continue

imgcount += 1

pix = fitz.Pixmap(doc, i) # 生成圖像對象

new_name = "圖片{}.png".format(imgcount) # 生成圖片的名稱

if pix.n < 5: # 如果pix.n<5,可以直接存為PNG

pix.writePNG(os.path.join(pic_path, new_name))

else: # 否則先轉換CMYK

pix0 = fitz.Pixmap(fitz.csRGB, pix)

pix0.writePNG(os.path.join(pic_path, new_name))

pix0 = None

pix = None # 釋放資源

t1 = time.clock() # 圖片完成時間

print("運行時間:{}s".format(t1 - t0))

print("提取了{}張圖片".format(imgcount))

if __name__=='__main__':

path = r"C:\Users\lenovo\Desktop\數據.pdf"

pic_path = r'C:\Users\lenovo\Desktop\圖片'

# 創建保存圖片的文件夾

if os.path.exists(pic_path):

print("文件夾已存在,不必重新創建!")

pass

else:

os.mkdir(pic_path)

pdf2pic(path, pic_path)

3、運行結果

文件名:C:\Users\lenovo\Desktop\數據.pdf, 頁數: 51, 對象: 156

運行時間:1.0037559488187855s

提取了1張圖片

運行時間:1.9240614402553362s

提取了2張圖片

運行時間:2.8580821293209087s

提取了3張圖片

運行時間:3.59311390384999s

提取了4張圖片

運行時間:4.055301359322903s

提取了5張圖片

運行時間:4.861761705280556s

總結

以上是生活随笔為你收集整理的python pdf 图片_第一节:python提取PDF文档中的图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。