> ## Documentation Index
> Fetch the complete documentation index at: https://data-machi.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Day 09｜真實文件沒那麼簡單：掃描 PDF、表格與圖片怎麼處理？

> 理解掃描頁、圖表與截圖在企業 RAG 系統中的處理挑戰，從 OCR 到多模態視覺摘要，學習讓 AI 讀懂視覺內容的方法。

<Frame>
  <img src="https://mintcdn.com/data-machi/Hyfs0AhNXMsF2W1V/day09.png?fit=max&auto=format&n=Hyfs0AhNXMsF2W1V&q=85&s=35aa8895af8f32f27f9171e2ac80c767" alt="Day09" width="1672" height="941" data-path="day09.png" />
</Frame>

<p align="center">
  *圖 1｜不同 PDF 內容需要文字擷取、OCR、圖表理解與視覺摘要*
</p>

如果所有企業文件都是乾淨的純文字 PDF，RAG 會簡單很多。但真實世界通常不是這樣。制度文件可能是掃描檔，月報的關鍵資訊可能藏在圖表裡，簡報頁面可能只有幾個文字框與一張截圖，甚至同一份 PDF 裡同時混著文字、圖片與表格。

這些內容對人類來說看一眼就懂，但對傳統文字解析器而言，可能根本不存在。

## 掃描 PDF：看得到，不代表抽得到文字

掃描 PDF 本質上常常只是一張張圖片。你可以在螢幕上看到文字，但程式無法像一般 PDF 一樣直接抽取。這時就需要 OCR，把影像裡的文字辨識成可搜尋內容。

不過光學字元辨識（OCR）不是「有做就一定正確」。低解析度、傾斜、中文表格、特殊字型都可能造成錯字。若後續直接把錯誤文字拿去做向量化（Embedding），搜尋品質自然會跟著下降。因此 OCR 完成後仍需要抽樣檢查，而不是只確認流程有跑完。

## 圖表與表格：只抽文字可能失去關係

一張趨勢圖的重點不是圖上有哪些數字，而是數字之間的變化；一個表格的價值也不只是每個儲存格，而是欄列的對應關係。如果把內容拆成沒有結構的純文字，模型可能看得到數字，卻不知道哪個數字屬於哪個月份或品類。

因此對表格可以考慮保留 Markdown 或結構化資料；對圖表與截圖，則可以使用多模態模型先產生視覺摘要，再把摘要連同來源頁面放進索引。

## 不要所有文件都走同一條 ingestion pipeline

這也是企業 RAG 很重要的設計觀念。純文字文件、掃描件、表格與圖片的處理方式不同，不需要為了「架構統一」硬塞進同一套解析流程。系統可以先辨識文件型態，再決定走文字解析、OCR 或視覺理解。

Data Machi 的開源實作可以先從乾淨 PDF 做起，但知道這個邊界很重要。否則未來換成真正的企業文件時，很容易把搜尋失敗誤認為模型問題。

## 建立知識庫前，先做資料品質檢查

一個很實用的做法，是在索引前先抽查幾頁：文字是否完整？頁碼與來源是否保留？表格有沒有被拆亂？如果文件本身沒有被正確轉換，就先不要急著調 embedding 或 top-k。

## 進階理解｜OCR 讀到文字，不代表讀懂關係

以流程圖為例，畫面裡可能寫著「申請送出 → 主管審核 → 通過 → 財務核銷」，旁邊還有「拒絕 → 退回申請人」的分支。光學字元辨識（OCR）可以把這些文字抽出來，但箭頭方向、分支關係與版面位置可能全部消失。結果看起來像「有讀到字」，實際上卻失去最重要的流程語意。

因此可以把文件處理分成三層：有文字層的頁面直接解析；掃描頁需要 OCR；圖表、流程圖與系統截圖則可能需要多模態模型產生視覺摘要。**不是所有頁面都值得用最昂貴的處理方式。**

<Accordion title="延伸閱讀：什麼是 Lazy OCR？">
  如果一份 200 頁文件只有 20 頁是掃描件，而使用者最後只查到其中 3 頁，一開始就把 20 頁全部 OCR 可能很浪費。Lazy OCR 的思路是先標記哪些頁面需要額外處理，等查詢真的碰到相關頁面時再補做 OCR 或視覺理解，並把結果快取起來。它的核心不是新名詞，而是「把成本留到真正需要時再支付」。
</Accordion>

<Info>
  今天先記住一件事：RAG 的上限，很大程度取決於文件進入知識庫前的品質。AI 找不到的內容，很多時候不是不存在，而是從一開始就沒有被正確解析。
</Info>

下一篇我們會第一次動手，把 Gemini、文件索引與查詢流程接起來，完成 Data Machi 的第一個 PDF RAG。
