最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Windows使用Python實現(xiàn)將PDF文件保存為圖片

 更新時間:2025年10月29日 09:30:07   作者:清山博客  
在 Python 中將 PDF 文件保存為圖片,最常用的方法是使用 pdf2image 庫,能夠將 PDF 的每一頁渲染為高質量的圖片,下面我們就來看看具體實現(xiàn)方法吧

在 Python 中將 PDF 文件保存為圖片,最常用的方法是使用 pdf2image 庫。這個庫實際上是 poppler 工具的 Python 封裝,能夠將 PDF 的每一頁渲染為高質量的圖片(如 PNG 或 JPEG)。

以下是詳細的操作步驟和代碼示例:

第一步:安裝依賴庫

pip install pdf2image pillow
  • pdf2image: 用于將 PDF 轉換為圖像。
  • Pillow (PIL): 用于圖像處理和保存。

第二步:安裝 poppler

pdf2image 依賴于 poppler,需要單獨安裝:

Windows:

下載 poppler for Windows:https://github.com/oschwartz10612/poppler-windows/releases/

解壓后,將 poppler-xx.x.x\bin 目錄添加到系統(tǒng)環(huán)境變量 PATH 中。或者在代碼中指定 poppler_path。

第三步:Python 代碼示例

from pdf2image import convert_from_path
import os


def pdf_to_images(poppler_path, pdf_path, output_folder, dpi=200, fmt='jpg'):
    """
    將 PDF 轉換為圖片并保存
    :param poppler_path:
    :param pdf_path: PDF 文件路徑
    :param output_folder: 輸出圖片的文件夾
    :param dpi: 圖像分辨率(越高越清晰,但文件越大)
    :param fmt: 輸出格式,如 'png', 'jpeg'
    """
    # 確保輸出目錄存在
    if not os.path.exists(output_folder):
        os.makedirs(output_folder)
    # 轉換 PDF 為圖像列表
    try:
        images = convert_from_path(pdf_path, dpi=dpi, poppler_path=poppler_path)
    except Exception as e:
        print("轉換失敗,請檢查 poppler 是否安裝正確。")
        print(e)
        return
    # 保存每一頁為圖片
    for i, image in enumerate(images):
        output_path = os.path.join(output_folder, f"{i + 1:03d}.{fmt}")
        image.save(output_path, fmt.upper())
        print(f"已保存: {output_path}")


# 使用示例
poppler_path = r'E:\00_Tool\poppler-25.07.0\Library\bin'  # 如果使用 Windows 且未添加 poppler 到 PATH,需指定路徑
input_file_path = r"E:\****報告.pdf"
file_name = os.path.basename(input_file_path)
file_name_without_extension, file_extension = os.path.splitext(file_name)
# 創(chuàng)建輸出文件夾
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")  # 桌面路徑
output_folder = os.path.join(desktop_path, file_name_without_extension)  # 輸出文件夾
pdf_to_images(poppler_path, input_file_path, output_folder, dpi=200, fmt='png')

輸出格式說明

  • fmt='png': 推薦用于清晰文本和透明背景。
  • fmt='jpeg': 文件更小,適合照片類 PDF,但有損壓縮。
  • 提高 dpi 值可以提升圖像質量,但會增加處理時間和文件大小。
  • 如果 PDF 有加密或損壞,轉換可能失敗。

方法補充

Python將PDF文件轉存為圖片

技術工具:Python版本:3.9

代碼編輯器:jupyter notebook

因工作中的某些奇葩要求,需要將PDF文件的每頁內容轉存成按順序編號的圖片。用第三方軟件或者在線轉換也可以,但批量操作還是Python方便,所謂搞定辦公自動化,Python出山,一統(tǒng)天下;Python出征,寸草不生~ O(∩_∩)O

不過這個需要用到`PyMuPDF`庫,電腦運行cmd,輸入“pip install PyMuPDF”安裝即可。安裝后通過`import fitz`導入模塊。等等,為什么安裝的是`PyMuPDF`,導入的是`fitz`?俺`PyMuPDF`就是這么任性,怎么的,愛用不用!哈哈,開個玩笑。其實是因為`PyMuPDF`曾用名`fitz-python`,所以只是`fitz`換了個馬甲而已。

這里先導入`fitz`庫,用于將PDF文件的頁面提取成像素信息(圖片)。再導入`glob`庫,用于獲取后綴為".pdf"的文件的文件名。`os`庫可新建文件夾。

#批量將PDF文件轉為圖片
import fitz
import glob
import os
 
image_path = "圖片\\" #存放圖片的文件夾
PDFfiles = glob.glob("PDF文件\\*.pdf") #獲取所有pdf文件的文件名
for PDFfile in PDFfiles: #遍歷所有PDF文件
    PDFdoc = fitz.open(PDFfile) #讀取PDF文件
    folder_name = PDFfile.split("\\")[-1].split(".")[0] #按源文件名新建文件夾
    for pg in range(PDFdoc.pageCount): #根據(jù)PDF的頁數(shù),按頁提取圖片        
        page = PDFdoc[pg]
        #增強圖片分辨率
        zoom_x = 3 #水平方向
        zoom_y = 3 #垂直方向
        mat = fitz.Matrix(zoom_x, zoom_y) 
        pix = page.getPixmap(matrix=mat)  
        #按原PDF名稱新建文件夾并按順序保存圖片
        if not os.path.exists(image_path+folder_name):#判斷文件夾是否已存在
            os.makedirs(image_path+folder_name)#不存在則新建,存在就跳過這行
        pix.writeImage(image_path+folder_name + "\\{}.png".format(str(pg+1))) #按PDF中的頁面順序命名并保存圖片

到此這篇關于Windows使用Python實現(xiàn)將PDF文件保存為圖片的文章就介紹到這了,更多相關Python PDF保存為圖片內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python生成n個元素的全組合方法

    python生成n個元素的全組合方法

    今天小編就為大家分享一篇python生成n個元素的全組合方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-11-11
  • pandas如何計算移動平均值

    pandas如何計算移動平均值

    在處理金融數(shù)據(jù)分析時,常需計算移動平均值。遇到數(shù)據(jù)不足導致結果為NAN問題,可使用pandas中rolling函數(shù)的min_periods參數(shù)。設置min_periods=1即可解決,它允許窗口中的非空觀測值少于窗口大小時也能計算均值,確保數(shù)據(jù)不足時也能得出結果
    2024-09-09
  • Pandas分組與排序的實現(xiàn)

    Pandas分組與排序的實現(xiàn)

    這篇文章主要介紹了Pandas分組與排序的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • python實現(xiàn)ping命令小程序

    python實現(xiàn)ping命令小程序

    這篇文章主要介紹了python實現(xiàn)ping命令小程序的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-12-12
  • Python3匿名函數(shù)lambda介紹與使用示例

    Python3匿名函數(shù)lambda介紹與使用示例

    這篇文章主要給大家介紹了關于Python3匿名函數(shù)lambda與使用的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python3具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • 一起來看看五條Python中的隱含特性

    一起來看看五條Python中的隱含特性

    這篇文章主要為大家詳細介紹了Python中的隱含特性,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • Python中的Decorator裝飾器的使用示例

    Python中的Decorator裝飾器的使用示例

    裝飾器(decorator)在Python框架中扮演著重要角色,是Python中實現(xiàn)切面編程(AOP)的重要手段,本文將通過簡單的示例和大家介紹下具體的使用方法,希望對大家有所幫助
    2022-12-12
  • 一文詳解Python中l(wèi)ogging模塊的用法

    一文詳解Python中l(wèi)ogging模塊的用法

    logging是Python標準庫中記錄常用的記錄日志庫,主要用于輸出運行日志,可以設置輸出日志的等級、日志保存路徑、日志文件回滾等。本文主要來和大家聊聊它的具體用法,希望對大家有所幫助
    2023-02-02
  • Ubuntu安裝PySide6開發(fā)桌面應用實踐

    Ubuntu安裝PySide6開發(fā)桌面應用實踐

    文章介紹了在Ubuntu非桌面端安裝PySide6并使用WSL2在Windows上開發(fā)Python桌面應用的全過程,首先,通過wS安裝基礎工具并用使用pip安裝PySide6,接著,在WindowsD安裝VSCode并配置WSL支持支持GUI顯示,最后D在WSL中開發(fā)Python桌面應用
    2026-04-04
  • 使用Python創(chuàng)建簡單的HTTP服務器的方法步驟

    使用Python創(chuàng)建簡單的HTTP服務器的方法步驟

    這篇文章主要介紹了使用Python創(chuàng)建簡單的HTTP服務器的方法步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

洞口县| 饶河县| 富顺县| 克拉玛依市| 醴陵市| 南投市| 云林县| 三台县| 鄯善县| 炉霍县| 旌德县| 盐津县| 西乌珠穆沁旗| 南昌市| 军事| 电白县| 阿图什市| 东兰县| 慈溪市| 綦江县| 股票| 额济纳旗| 巴彦县| 长兴县| 临安市| 奉化市| 通城县| 神木县| 会东县| 平谷区| 卢龙县| 马关县| 江津市| 太湖县| 新平| 乌拉特中旗| 鄱阳县| 秦皇岛市| 溧水县| 玉屏| 西畴县|