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

Python從Word文檔中提取圖片并生成PPT的操作代碼

 更新時間:2025年08月20日 09:13:13   作者:幸福清風(fēng)  
在日常辦公場景中,我們經(jīng)常需要從Word文檔中提取圖片,并將這些圖片整理到PowerPoint幻燈片中,手動完成這一任務(wù)既耗時又容易出錯,本文將介紹如何使用Python編程語言和相關(guān)庫實(shí)現(xiàn)自動化處理,快速從多個Word文件中提取圖片并生成對應(yīng)的PPT文件,需要的朋友可以參考下

引言

在日常辦公場景中,我們經(jīng)常需要從 Word 文檔中提取圖片,并將這些圖片整理到 PowerPoint 幻燈片中。手動完成這一任務(wù)既耗時又容易出錯。本文將介紹如何使用 Python 編程語言和相關(guān)庫(如 python-docxpython-pptx)實(shí)現(xiàn)自動化處理,快速從多個 Word 文件中提取圖片并生成對應(yīng)的 PPT 文件。

背景與需求

假設(shè)你有一個文件夾,里面包含多個 .docx 格式的 Word 文檔,每個文檔中嵌入了若干圖片。你的目標(biāo)是:

  1. 提取圖片:從每個 Word 文檔中提取所有嵌入的圖片。
  2. 生成 PPT:為每張圖片創(chuàng)建一個獨(dú)立的幻燈片,并將其插入到 PowerPoint 文件中。
  3. 批量處理:能夠一次性處理文件夾中的所有 Word 文檔。

通過 Python 的強(qiáng)大功能,我們可以輕松實(shí)現(xiàn)這一流程。

解決方案概述

我們將使用以下 Python 庫來完成任務(wù):

  • python-docx:用于讀取 Word 文檔內(nèi)容。
  • python-pptx:用于創(chuàng)建 PowerPoint 幻燈片。
  • Pillow:用于處理圖片尺寸和格式。
  • io:用于處理內(nèi)存中的二進(jìn)制數(shù)據(jù)流。

整個流程分為以下幾個步驟:

  1. 遍歷指定文件夾中的所有 Word 文件。
  2. 使用 python-docx 提取 Word 文檔中的圖片。
  3. 將提取的圖片插入到 PowerPoint 幻燈片中。
  4. 保存生成的 PPT 文件。

代碼解析

以下是完整的 Python 代碼及其詳細(xì)說明:

from docx import Document
from pptx import Presentation
from pptx.util import Inches
from PIL import Image
import io
import os

# 指定包含 Word 文件的文件夾路徑
folder_path = r"C:\Users\Administrator\Desktop\tt"  # 修改為你的文件夾路徑

# 遍歷文件夾中的所有 Word 文件
for filename in os.listdir(folder_path):
    if filename.endswith(".docx"):
        word_path = os.path.join(folder_path, filename)
        ppt_name = os.path.splitext(filename)[0] + ".pptx"
        ppt_path = os.path.join(folder_path, ppt_name)

        print(f"正在處理:{filename}")

        try:
            # 嘗試讀取Word文件
            doc = Document(word_path)

        except Exception as e:
            print(f"? 無法讀取文件 {filename}: {e}")
            continue  # 跳過當(dāng)前文件,處理下一個

        # 創(chuàng)建PPT演示文稿
        prs = Presentation()

        # 提取圖片并插入PPT
        for para in doc.paragraphs:
            for run in para.runs:
                blip = run._r.find('.//a:blip', namespaces={'a': 'http://schemas.openxmlformats.org/drawingml/2006/main'})
                if blip is not None:
                    embed_id = blip.get('{http://schemas.openxmlformats.org/officeDocument/2006/relationships}embed')
                    if embed_id and embed_id in run.part.related_parts:
                        image_part = run.part.related_parts[embed_id]
                        img_stream = io.BytesIO(image_part.blob)

                        # 打開圖片
                        img = Image.open(img_stream)
                        img_width, img_height = img.size

                        # 創(chuàng)建PPT幻燈片
                        slide = prs.slides.add_slide(prs.slide_layouts[6])

                        # 設(shè)置PPT大小與圖片尺寸一致
                        prs.slide_width = Inches(img_width / 100)
                        prs.slide_height = Inches(img_height / 100)

                        # 將圖片添加到幻燈片
                        slide.shapes.add_picture(img_stream, 0, 0, width=Inches(img_width / 100), height=Inches(img_height / 100))

        # 保存PPT
        prs.save(ppt_path)
        print(f"? 生成PPT:{ppt_path}")

print("所有文件處理完成!??")

代碼核心邏輯說明

遍歷文件夾

  • 使用 os.listdir() 遍歷指定文件夾中的所有文件,并篩選出 .docx 格式的文件。

讀取 Word 文件

  • 使用 python-docxDocument 類加載 Word 文檔。
  • 如果文件損壞或無法讀取,捕獲異常并跳過該文件。

提取圖片

  • 遍歷 Word 文檔中的段落 (paragraphs) 和運(yùn)行塊 (runs)。
  • 使用 XML 命名空間查找嵌入的圖片資源 (blip),并通過 embed_id 獲取圖片的二進(jìn)制數(shù)據(jù)。

創(chuàng)建 PPT 幻燈片

  • 使用 python-pptx 創(chuàng)建一個新的 PowerPoint 演示文稿。
  • 為每張圖片創(chuàng)建一個空白幻燈片,并調(diào)整幻燈片尺寸以適應(yīng)圖片。

保存 PPT 文件

  • 將生成的 PPT 文件保存到指定路徑,并打印成功信息。

總結(jié)

通過本文的代碼示例,你可以輕松實(shí)現(xiàn)從 Word 文檔中提取圖片并生成 PPT 的自動化流程。這種解決方案不僅提高了工作效率,還減少了人為操作的錯誤率。無論是日常辦公還是批量處理任務(wù),這段代碼都能為你節(jié)省大量時間。

以上就是Python從Word文檔中提取圖片并生成PPT的操作代碼的詳細(xì)內(nèi)容,更多關(guān)于Python提取Word圖片生成PTT的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python with語句和過程抽取思想

    Python with語句和過程抽取思想

    這篇文章主要介紹了Python with語句和過程抽取思想,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-12-12
  • python 以16進(jìn)制打印輸出的方法

    python 以16進(jìn)制打印輸出的方法

    今天小編就為大家分享一篇python 以16進(jìn)制打印輸出的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • pytorch之ImageFolder使用詳解

    pytorch之ImageFolder使用詳解

    今天小編就為大家分享一篇pytorch之ImageFolder使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python編輯器Pycharm安裝配置超詳細(xì)教程

    Python編輯器Pycharm安裝配置超詳細(xì)教程

    PyCharm是一款功能強(qiáng)大的Python編輯器,具有跨平臺性,下面這篇文章主要給大家介紹了關(guān)于Python編輯器Pycharm安裝配置的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2023-01-01
  • 詳解用python寫一個抽獎程序

    詳解用python寫一個抽獎程序

    這篇文章主要介紹了用python寫一個抽獎程序,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • Python中操作MySQL數(shù)據(jù)庫時如何處理數(shù)據(jù)類型轉(zhuǎn)換問題

    Python中操作MySQL數(shù)據(jù)庫時如何處理數(shù)據(jù)類型轉(zhuǎn)換問題

    日常工作中,我們難免會遇到要直連數(shù)據(jù)庫來進(jìn)行數(shù)據(jù)的讀取與處理,然而會有幾種比較有特點(diǎn)的數(shù)據(jù)需要進(jìn)行轉(zhuǎn)換,這篇文章主要介紹了Python中操作MySQL數(shù)據(jù)庫時如何處理數(shù)據(jù)類型轉(zhuǎn)換問題的相關(guān)資料,需要的朋友可以參考下
    2026-01-01
  • Python讀取圖片屬性信息的實(shí)現(xiàn)方法

    Python讀取圖片屬性信息的實(shí)現(xiàn)方法

    這篇文章介紹了利用Python讀取圖片屬性信息的方法,讀取的內(nèi)容包括GPS 信息、圖片分辨率、圖片像素、設(shè)備商、拍攝設(shè)備等,有需要的朋友們可以參考借鑒。
    2016-09-09
  • Python中實(shí)現(xiàn)3D模型動態(tài)加載的4種方法

    Python中實(shí)現(xiàn)3D模型動態(tài)加載的4種方法

    本文討論了Python中實(shí)現(xiàn)3D模型動態(tài)加載的方法,包括PyOpenGL、Panda3D和ModernGL等,詳細(xì)介紹了基于PyOpenGL的渲染管線和模型加載;利用VPython的場景構(gòu)建和對象管理;基于ModernGL的高效GPU加速方案;四種方法綜合對比與未來優(yōu)化方向等場景,需要的朋友可以參考下
    2026-04-04
  • python從list列表中選出一個數(shù)和其對應(yīng)的坐標(biāo)方法

    python從list列表中選出一個數(shù)和其對應(yīng)的坐標(biāo)方法

    今天小編就為大家分享一篇python從list列表中選出一個數(shù)和其對應(yīng)的坐標(biāo)方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python 實(shí)現(xiàn)12bit灰度圖像映射到8bit顯示的方法

    python 實(shí)現(xiàn)12bit灰度圖像映射到8bit顯示的方法

    這篇文章主要介紹了python 實(shí)現(xiàn)12bit灰度圖像映射到8bit顯示的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07

最新評論

桓台县| 宁夏| 武威市| 万载县| 侯马市| 红原县| 海宁市| 景德镇市| 赤峰市| 万年县| 通河县| 大洼县| 沂源县| 巴彦县| 石柱| 吉安县| 凤阳县| 巴马| 南溪县| 磐石市| 京山县| 沈丘县| 绥棱县| 阿克陶县| 灵台县| 屯留县| 灯塔市| 陈巴尔虎旗| 定兴县| 阿巴嘎旗| 乌兰浩特市| 米易县| 海林市| 梅州市| 郯城县| 南充市| 天门市| 柏乡县| 达州市| 尼勒克县| 什邡市|