背景知識
先搞清楚 .pptx 的底層結構
.pptx 檔案本質上是一個 ZIP 壓縮包,圖片全部集中存放在裡面的 ppt/media/ 資料夾。每張圖在 media 裡佔一個實體檔案,slide 的 XML 只負責記錄「要顯示哪個圖、放在哪裡、裁切哪個區域」。
📁 ppt/
📁 slides/
└─ slide1.xml, slide2.xml … (記錄位置、大小、裁切參數)
📁 media/
└─ image1.jpg, image2.jpg … ← 圖片的實體檔案在這裡
所以問題的核心很單純:同一張圖在 media/ 裡存了幾份?
情境 01
Insert / Add Image 多次(從同一個外部檔案)
⚠ 結果:每 Insert 一次,就多存一份
PowerPoint 無法辨識「這張和已經匯入的那張是同一個檔案」,每次 Insert 都會在 media/ 裡建立一個獨立副本。
🖼 image1.jpg ← 第一次 insert(原圖完整)
🖼 image2.jpg ← 第二次 insert(原圖完整副本)
🖼 image3.jpg ← 第三次 insert(原圖完整副本)
➜ 三份完整原圖,佔三倍空間
即使你每次 insert 後都把圖裁切成不同大小,PPT 存的仍是三份完整的原始圖檔,裁切只是 XML 裡的參數,不影響 media/ 的實體大小。
情境 02
Insert 一次,之後全用 Copy / Paste(或 Ctrl+D)
✓ 結果:共用一份,不管 paste 幾次
PowerPoint 足夠聰明:copy/paste 產生的是對同一個 media/ 圖檔的參照,不會複製實體圖檔。10 個 instance 也只存一份原圖。
🖼 image1.jpg ← 唯一的實體圖檔
slide1.xml ~ slide10.xml 都指向同一個 image1.jpg
各自的裁切參數、位置、大小:存在各 slide 的 XML 裡
➜ 一份原圖,space × 1,不管複製幾次
各 instance 裁切成不同大小也沒問題——裁切只動 XML 參數,共用的原圖不會被複製或拆分。
情境 03(隱藏陷阱)
Copy/Paste 後,執行「壓縮圖片+刪除裁切區域」
⚡ 結果:共用關係被迫解除,圖檔分裂
只要勾選「刪除圖片的裁切區域」,PowerPoint 必須把每個 instance 的圖各自「剪掉」。因為各 instance 的裁切位置不同,系統無法再讓它們共用同一張原圖,因此每個 instance 會被寫成一個獨立的新圖檔。
🖼 image1.jpg ← 裁切後的小圖(instance 1 的版本)
🖼 image2.jpg ← 裁切後的小圖(instance 2 的版本)
🖼 image3.jpg ← 裁切後的小圖(instance 3 的版本)
共用關係解除,但每張都比原圖小很多
反直覺之處:檔案數量增加了,但如果原圖很大、裁切比例高,三張小圖加起來通常仍遠小於一張完整大圖,整體仍是划算的。只有在原圖本來就不大、裁切量少的情況下,才可能出現「分裂後反而微幅增加」的邊緣情形。
總整理
三種情境對照
操作方式
media/ 裡的圖檔數
檔案大小影響
Insert 同一檔 N 次
N 個完整副本
變大 N 倍
Insert 一次 → Copy/Paste N 次
(無論各自怎麼裁切)
(無論各自怎麼裁切)
1 個(共用)
只算一份
Copy/Paste 後
執行「壓縮+刪除裁切區域」
執行「壓縮+刪除裁切區域」
N 個小圖(各自獨立)
通常仍縮小,
但共用關係解除
但共用關係解除