婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > python 三種方法提取pdf中的圖片

python 三種方法提取pdf中的圖片

熱門標簽:申請辦個400電話號碼 400電話辦理費用收費 外呼系統前面有錄音播放嗎 鎮江人工外呼系統供應商 高德地圖標注字母 騰訊地圖標注有什么版本 千呼ai電話機器人免費 柳州正規電銷機器人收費 深圳網絡外呼系統代理商

有時我們需要將一份或者多份PDF文件中的圖片提取出來,如果采取在線的網站實現的話又擔心圖片泄漏,手動操作又覺得麻煩,其實用Python也可以輕松搞定!
今天就跟大家系統分享幾種Python提取 PDF 圖片的方法。其實沒有非常完美的方法,每種方法提取效率都不是百分之百,因此可以考慮用多種方法進行互補,主要將涉及:

  • 基于 fitz 庫和正則搜索提取圖片
  • 基于 pdf2image 庫的兩種方法提取圖片

基于 fitz 庫和正則搜索

fitz 是 pymupdf 的子模塊,需要先用命令行安裝 pymupdf:

pip install pymupdf

但注意導入時使用 import fitz 導入模塊!

下面的代碼就利用 fitz 庫提取圖片需要通過正則匹配圖片元素,將模板元素轉化為像素后再以圖片形式寫出

import fitz
import re
import os

file_path = r'C:\xxx\xxx.pdf' # PDF 文件路徑
dir_path = r'C:\xxx' # 存放圖片的文件夾

def pdf2image1(path, pic_path):
  checkIM = r"/Subtype(?= */Image)"
  pdf = fitz.open(path)
  lenXREF = pdf._getXrefLength()
  count = 1
  for i in range(1, lenXREF):
    text = pdf._getXrefString(i)
    isImage = re.search(checkIM, text)
    if not isImage:
      continue
    pix = fitz.Pixmap(pdf, i)
    new_name = f"img_{count}.png"
    pix.writePNG(os.path.join(pic_path, new_name))
    count += 1
    pix = None

pdf2image1(file_path, dir_path)

運行提取示例文件后結果如下:

可以看到,有一些很小的色塊也被提取成圖片,那么怎么過濾掉它們呢?

有一個簡單的方法是通過大小過濾,pix 像素在 fitz 庫中存在一個重要的方法 pix.size 可以反映像素多少,簡單的色素塊該值較低,可以通過設置一個閾值過濾。以閾值 10000 為例過濾:

import fitz
import re
import os

file_path = r'C:\xxx\xxx.pdf' # PDF 文件路徑
dir_path = r'C:\xxx' # 存放圖片的文件夾

def pdf2image1(path, pic_path):
  checkIM = r"/Subtype(?= */Image)"
  pdf = fitz.open(path)
  lenXREF = pdf._getXrefLength()
  count = 1
  for i in range(1, lenXREF):
    text = pdf._getXrefString(i)
    isImage = re.search(checkIM, text)
    if not isImage:
      continue
    pix = fitz.Pixmap(pdf, i)
    if pix.size  10000: # 在這里添加一處判斷一個循環
      continue # 不符合閾值則跳過至下
    new_name = f"img_{count}.png"
    pix.writePNG(os.path.join(pic_path, new_name))
    count += 1
    pix = None

pdf2image1(file_path, dir_path)

可以看到,全部圖片都被正常提取!

基于 pdf2image 庫的兩種方法

一看名字就知道這個庫的用處了,官方文檔為https://www.cnpython.com/pypi/pdf2image

可以簡單通過 pip install pdf2image 安裝,但poppler才是真正起做用的轉換器,因此需要額外安裝和配置:

  • windows用戶必須安裝poppler for Windows,然后將bin/文件夾添加到PATH
  • Mac用戶必須安裝poppler for Mac

具體發揮作用的代碼官方文檔也給出了詳細的說明:

那么我們就分別嘗試這兩種方法:

from pdf2image import convert_from_path,convert_from_bytes
import tempfile
from pdf2image.exceptions import PDFInfoNotInstalledError, PDFPageCountError, PDFSyntaxError
import os

file_path = r'C:\xxx\xxx.pdf' # PDF 文件路徑
dir_path = r'C:\xxx' # 存放圖片的文件夾

def pdf2image2(file_path, dir_path):
  images = convert_from_path(file_path, dpi=200)
  for image in images:
    if not os.path.exists(dir_path):
      os.makedirs(dir_path)
    image.save(file_path + f'\img_{images.index(image)}.png', 'PNG')

pdf2image2(file_path, dir_path)

可以成功提取圖片。再試試第二種方法:

from pdf2image import convert_from_path,convert_from_bytes
import tempfile
from pdf2image.exceptions import PDFInfoNotInstalledError, PDFPageCountError, PDFSyntaxError
import os

file_path = r'C:\xxx\xxx.pdf' # PDF 文件路徑
dir_path = r'C:\xxx' # 存放圖片的文件夾

def pdf2image3(file_path, dir_path):
  images = convert_from_bytes(open(file_path, 'rb').read())
  for image in images:
    if not os.path.exists(dir_path):
      os.makedirs(dir_path)
    image.save(file_path + f'\img_{images.index(image)}.png', 'PNG')

pdf2image3(file_path, dir_path)

可以看到結果和之前一致,PDF中全部圖片都被提取出來!

再補充一下。核心方法covert_from_bytes包含大量參數,可以自行修改。幾個常用參數總結如下:

參數

意義

pdf_path

PDF 文檔路徑

dpi

圖像質量(如果是學術期刊雜志常見 300dpi)

output_folder

將生成的圖像寫入文件夾(而不是直接寫入內存)

first_page

起始轉換頁數

last_page

轉換至哪一頁

fmt

圖像格式,可以指定為 png,默認為 ppm

thread_count

允許參與轉換的線程數

userpw

PDF 的密碼

output_file

輸出文件名

poppler_path

指定 poppler 的安裝路徑,一開始配置好就無需指定

值得一提的是thread_count 參數,可以啟動多線程會大大加快轉換速度,尤其是 PDF 頁面較多時。有興趣的讀者可以做嘗試。

以上就是python 三種方法提取pdf中的圖片的詳細內容,更多關于python 提取pdf中的圖片的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python解析PDF程序代碼
  • python實現csdn全部博文下載并轉PDF
  • Python合并多張圖片成PDF
  • Python提取PDF指定內容并生成新文件
  • 詳解用Python把PDF轉為Word方法總結
  • python操作mysql、excel、pdf的示例
  • python pdfkit 中文亂碼問題的解決方案
  • Python實現給PDF添加水印的方法
  • Python讀取pdf表格寫入excel的方法
  • Python 多張圖片合并成一個pdf的參考示例

標簽:平頂山 海南 大慶 烏蘭察布 郴州 烏蘭察布 合肥 哈爾濱

巨人網絡通訊聲明:本文標題《python 三種方法提取pdf中的圖片》,本文關鍵詞  python,三種,方法,提取,pdf,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python 三種方法提取pdf中的圖片》相關的同類信息!
  • 本頁收集關于python 三種方法提取pdf中的圖片的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    久久久精品免费网站| 91老师片黄在线观看| 日韩国产欧美在线观看| fc2成人免费人成在线观看播放 | 免费一级片91| 欧美久久久影院| 青青草精品视频| 在线播放91灌醉迷j高跟美女| 一级特黄大欧美久久久| 欧美视频日韩视频在线观看| 亚洲一区二区三区视频在线播放 | 国产精品美女久久久久久2018| 成人手机在线视频| 亚洲乱码精品一二三四区日韩在线| 91在线小视频| 一区二区三区四区不卡视频| 欧美日本一区二区在线观看| 天使萌一区二区三区免费观看| 91精品国产色综合久久ai换脸| 久久激五月天综合精品| 国产嫩草影院久久久久| 色噜噜久久综合| 日韩成人免费看| 国产女人18毛片水真多成人如厕 | 一级日本不卡的影视| 欧美一区二区三区四区视频| 高清不卡一二三区| 日韩精品亚洲专区| 国产日韩欧美一区二区三区综合| 91丨porny丨首页| 男女男精品视频网| 亚洲欧洲韩国日本视频| 欧美精品色综合| 成人小视频免费观看| 日韩影院免费视频| 亚洲卡通动漫在线| 欧美成人官网二区| 欧洲一区在线观看| 成人性生交大片免费看在线播放| 国产日韩欧美不卡| 欧洲一区二区三区免费视频| 国产成人精品一区二区三区四区| 亚洲大片精品永久免费| 欧美精品一区二区三区高清aⅴ| 在线看不卡av| 国产91精品露脸国语对白| 热久久久久久久| 亚洲高清免费视频| 亚洲欧美综合在线精品| 久久综合九色综合97婷婷女人 | 久久精品一区蜜桃臀影院| 色综合久久精品| 国产精品亚洲视频| 青青草91视频| 日本成人中文字幕| 图片区小说区区亚洲影院| 亚洲精品国产视频| 亚洲欧洲精品一区二区三区| 亚洲国产精品精华液2区45| 久久婷婷国产综合精品青草| 欧美一级专区免费大片| 欧美情侣在线播放| 欧美日韩国产大片| 91久久国产最好的精华液| thepron国产精品| 成人av电影在线网| 成人在线一区二区三区| 国产一区中文字幕| 国产精品亚洲综合一区在线观看| 国产一区二区毛片| 国产成人精品影视| 成人中文字幕电影| 91视频com| 欧洲一区二区av| 欧美日韩在线免费视频| 欧美日韩中文另类| 91精品免费在线| 26uuu另类欧美亚洲曰本| 久久男人中文字幕资源站| 久久久噜噜噜久久人人看| 99国产精品久| 91浏览器在线视频| 在线播放亚洲一区| 精品国产1区二区| 国产精品盗摄一区二区三区| 国产嫩草影院久久久久| 国产精品三级视频| 亚洲精品视频在线观看网站| 亚洲亚洲人成综合网络| 蜜桃视频一区二区三区| 国内精品免费**视频| 国产·精品毛片| 91一区二区在线| 欧美一区二区啪啪| 国产精品久久久久三级| 亚洲va欧美va天堂v国产综合| 久久超级碰视频| 色综合久久综合| 日韩精品一区二区三区在线播放| 国产精品丝袜黑色高跟| 视频一区视频二区中文| 国产馆精品极品| 欧美日韩久久久一区| 国产日产欧美精品一区二区三区| 一二三四社区欧美黄| 狂野欧美性猛交blacked| 91麻豆swag| 精品少妇一区二区三区日产乱码 | 99久久er热在这里只有精品15| 欧美男男青年gay1069videost| 国产色综合久久| 亚洲va欧美va天堂v国产综合| 国产米奇在线777精品观看| 欧美日韩在线综合| 成人欧美一区二区三区| 国产精品中文字幕日韩精品| 欧美精品vⅰdeose4hd| 国产欧美日韩麻豆91| 三级欧美韩日大片在线看| 91欧美激情一区二区三区成人| 日韩欧美国产午夜精品| 亚洲成av人片一区二区三区| 久久久久久毛片| 国产精品久久久久9999吃药| 亚洲成av人片在线观看无码| 伦理电影国产精品| 一本一道综合狠狠老| 日韩一卡二卡三卡四卡| 久久免费视频一区| 日韩电影一二三区| 欧美日韩精品一区二区三区四区| 中文字幕中文字幕在线一区| 国产激情一区二区三区四区| 日韩午夜小视频| 亚洲欧美一区二区三区极速播放| 日韩精品成人一区二区在线| 欧美高清dvd| 视频在线在亚洲| 日韩视频一区二区| 日本不卡123| 精品成人私密视频| 国产中文一区二区三区| 久久久久久黄色| 波多野结衣一区二区三区 | 欧美精品一区二区三区蜜臀| 蜜臀精品一区二区三区在线观看 | 成人免费毛片app| 国产日韩精品一区二区浪潮av| 国产成人av自拍| 亚洲国产高清在线观看视频| 成人永久看片免费视频天堂| 国产精品乱码一区二三区小蝌蚪| 99久久精品国产观看| 亚洲一区二区三区四区在线免费观看 | 国产午夜精品福利| 精品一区二区三区在线播放| 久久久久久99精品| 91在线精品一区二区三区| 一区二区三区四区不卡视频| 56国语精品自产拍在线观看| 伦理电影国产精品| 3atv一区二区三区| 久久精品国产网站| 国产精品午夜免费| 在线观看精品一区| 国内精品伊人久久久久av影院| 亚洲国产精品成人久久综合一区| 色一区在线观看| 蜜桃传媒麻豆第一区在线观看| 国产拍欧美日韩视频二区| 91精彩视频在线| 国产一区二区三区四| 亚洲欧洲精品成人久久奇米网| 欧美精品xxxxbbbb| 99免费精品视频| 免费观看日韩av| 亚洲日本一区二区| 精品第一国产综合精品aⅴ| 欧日韩精品视频| 岛国精品一区二区| 亚洲影院在线观看| 国产婷婷色一区二区三区| 欧美日韩国产一级二级| 成人午夜私人影院| 热久久久久久久| 一区二区三区中文字幕在线观看| 欧美日本一道本| 极品少妇xxxx偷拍精品少妇| 亚洲综合激情另类小说区| 欧美xxx久久| 欧洲精品中文字幕| 成人听书哪个软件好| 国产一区啦啦啦在线观看| 亚洲欧美另类小说视频| 久久综合色婷婷| 7799精品视频| 欧美日韩一二三区| 在线视频欧美区| 91免费精品国自产拍在线不卡| 国产v综合v亚洲欧|