# Change: Remove Unused Code and Legacy Files

## Why

專案經過多次迭代開發後，累積了一些未使用的代碼和遺留文件。這些冗餘代碼增加了維護負擔、可能造成混淆，並佔用不必要的存儲空間。本提案旨在系統性地移除這些未使用的代碼，以達成專案內容及程式代碼的精簡。

## What Changes

### Backend - 移除未使用的服務文件 (3個)

| 文件 | 行數 | 移除原因 |
|------|------|----------|
| `ocr_service_original.py` | ~835 | 舊版 OCR 服務，已被 `ocr_service.py` 完全取代 |
| `preprocessor.py` | ~200 | 文檔預處理器，功能已被 `layout_preprocessing_service.py` 吸收 |
| `pdf_font_manager.py` | ~150 | 字體管理器，未被任何服務引用 |

### Frontend - 移除未使用的組件 (2個)

| 文件 | 移除原因 |
|------|----------|
| `MarkdownPreview.tsx` | 完全未被任何頁面或組件引用 |
| `ResultsTable.tsx` | 使用已棄用的 `FileResult` 類型，功能已被 `TaskHistoryPage` 替代 |

### Frontend - 遷移並移除遺留 API 服務 (2個)

| 文件 | 移除原因 |
|------|----------|
| `services/api.ts` | 舊版 API 客戶端，僅剩 2 處引用 (Layout.tsx, SettingsPage.tsx)，需遷移至 apiV2 |
| `types/api.ts` | 舊版類型定義，僅 `ExportRule` 類型被使用，需遷移至 apiV2.ts |

## Impact

- **Affected specs**: 無 (純代碼清理，不改變系統行為)
- **Affected code**:
  - Backend: `backend/app/services/` (刪除 3 個文件)
  - Frontend: `frontend/src/components/` (刪除 2 個文件)
  - Frontend: `frontend/src/services/api.ts` (遷移後刪除)
  - Frontend: `frontend/src/types/api.ts` (遷移後刪除)

## Benefits

- 減少約 1,200+ 行後端冗餘代碼
- 減少約 300+ 行前端冗餘代碼
- 提高代碼維護性和可讀性
- 消除新開發者的混淆源
- 統一 API 客戶端到 apiV2

## Risk Assessment

- **風險等級**: 低
- **回滾策略**: Git revert 即可恢復所有刪除的文件
- **測試要求**:
  - 確認後端服務啟動正常
  - 確認前端所有頁面功能正常
  - 特別測試 SettingsPage (ExportRule) 功能
