# OCR 功能

ConvertX-CN 內建 Tesseract OCR 與 ocrmypdf，提供完整的 OCR 功能：

- **圖片 OCR**：將圖片中的文字轉換為可編輯文字
- **PDF OCR**：將掃描版 PDF 轉換為可搜尋 PDF（加入文字層）
- **PDF 自動偵測**：翻譯引擎會自動偵測掃描版 PDF 並進行 OCR 處理

---

## 內建語言

ConvertX-CN 完整版內建以下 OCR 語言：

| 語言     | 代碼      |
| -------- | --------- |
| 繁體中文 | `chi_tra` |
| 簡體中文 | `chi_sim` |
| 英文     | `eng`     |
| 日文     | `jpn`     |
| 韓文     | `kor`     |
| 德文     | `deu`     |
| 法文     | `fra`     |

---

## 使用方式

### PDF → 可搜尋 PDF（OCR）

將掃描版 PDF 轉換為可搜尋 PDF：

1. 上傳 PDF 檔案
2. 選擇 Converter: `OCRmyPDF`
3. 選擇目標格式：

   | 格式        | 說明                           | 推薦場景         |
   | ----------- | ------------------------------ | ---------------- |
   | `pdf-ocr`   | **自動檢測（多語言）** ⭐ 推薦 | 通用、多語言文件 |
   | `pdf-en`    | 僅英文                         | 純英文文件       |
   | `pdf-zh-TW` | 僅繁體中文                     | 純繁體中文文件   |
   | `pdf-zh`    | 僅簡體中文                     | 純簡體中文文件   |
   | `pdf-ja`    | 僅日文                         | 純日文文件       |
   | `pdf-ko`    | 僅韓文                         | 純韓文文件       |
   | `pdf-de`    | 僅德文                         | 純德文文件       |
   | `pdf-fr`    | 僅法文                         | 純法文文件       |

4. 進行轉換

> 💡 **功能特點**：
>
> - **自動多語言檢測**：`pdf-ocr` 模式可處理中英混排、多語言文件
> - 自動偵測頁面方向並旋轉
> - 自動校正傾斜
> - 跳過已有文字層的頁面
> - 詳細的處理進度輸出

### 🆕 自動多語言檢測模式

選擇 `pdf-ocr` 時，系統會使用所有已安裝的語言包進行辨識：

```
eng + chi_tra + chi_sim + jpn + kor + deu + fra
```

**適用場景：**

- ✅ 中英混排文件（如學術論文）
- ✅ 日英混排文件
- ✅ 不確定文件語言時
- ✅ 包含多種語言的文件

### 圖片 → 文字

1. 上傳圖片（PNG, JPG, TIFF 等）
2. 選擇目標格式 `txt` 或 `pdf`（可搜尋）
3. 進行轉換

### 掃描版 PDF 翻譯（自動處理）

當使用 PDFMathTranslate 或 BabelDOC 翻譯 PDF 時：

1. 系統會**自動偵測**是否為掃描版 PDF（無文字層）
2. 若為掃描版，系統會**自動執行 OCR** 加入文字層
3. 翻譯引擎使用 OCR 處理後的 PDF 進行翻譯
4. 使用者無需手動操作，全程自動完成

---

## 支援的輸入格式

- **點陣圖**：PNG, JPG, JPEG, TIFF, BMP, GIF
- **其他**：WebP, PNM, PBM

---

## 輸出格式

| 格式 | 說明            |
| ---- | --------------- |
| TXT  | 純文字          |
| PDF  | 可搜尋 PDF      |
| HOCR | HTML + 座標資訊 |

---

## 最佳實踐

### 提高辨識準確度

1. **解析度**：至少 300 DPI
2. **對比度**：文字與背景對比清晰
3. **傾斜校正**：確保文字水平
4. **雜訊去除**：去除背景雜訊

### 處理多語言文件

#### 方法一：使用自動檢測模式（推薦）

選擇 `pdf-ocr` 格式，系統會自動使用所有語言包進行辨識，無需手動指定語言。

- ✅ 無需猜測文件語言
- ✅ 支援中英混排、多語言文件
- ✅ 一鍵處理所有情況

#### 方法二：指定單一語言

如果確定文件只包含單一語言，可選擇對應的語言格式（如 `pdf-en`），可能獲得更高的辨識準確度。

---

## 新增語言

ConvertX-CN 預設內建 7 種 OCR 語言，但你可以透過 Docker Compose 配置擴展支援更多語言。

### 擴展方法

| 方法              | 說明                       | 適用場景       |
| ----------------- | -------------------------- | -------------- |
| compose.yaml 安裝 | 容器啟動時自動安裝語言包   | 測試、臨時使用 |
| 掛載語言包        | 下載 .traineddata 檔案掛載 | 離線環境       |
| 自訂 Dockerfile   | 建置包含語言包的自訂映像   | 生產環境       |

### 常用可選語言

| Tesseract 包名      | 語言     |
| ------------------- | -------- |
| `tesseract-ocr-spa` | 西班牙文 |
| `tesseract-ocr-ita` | 義大利文 |
| `tesseract-ocr-por` | 葡萄牙文 |
| `tesseract-ocr-rus` | 俄文     |
| `tesseract-ocr-ara` | 阿拉伯文 |
| `tesseract-ocr-vie` | 越南文   |
| `tesseract-ocr-tha` | 泰文     |

> 📖 **詳細配置指南**：[OCR 語言擴展指南](../Docker組合配置/OCR語言擴展.md)
>
> 包含完整的 compose.yaml 範例、語言包下載方法、以及 50+ 種可用語言列表。

---

## OCRmyPDF vs 翻譯引擎語言支援

| 功能     | OCRmyPDF                    | PDFMathTranslate / BabelDOC |
| -------- | --------------------------- | --------------------------- |
| 內建語言 | 8 種                        | 15 種                       |
| 可擴展   | ✅ 可透過 compose.yaml 添加 | ❌ 固定                     |
| 語言用途 | OCR 文字辨識                | 翻譯目標語言                |

**OCRmyPDF 內建語言**：英文、繁體中文、簡體中文、日文、韓文、德文、法文 + 自動多語言模式

**翻譯引擎內建語言**：英文、簡體中文、繁體中文、日文、韓文、德文、法文、西班牙文、義大利文、葡萄牙文、俄文、阿拉伯文、印地文、越南文、泰文

> 💡 如果需要 OCR 更多語言，請參考 [OCR 語言擴展指南](../Docker組合配置/OCR語言擴展.md)。

---

## 相關文件

- [支援的轉換器](轉換器.md)
- [翻譯功能](翻譯功能.md)
- [OCR 語言擴展指南](../Docker組合配置/OCR語言擴展.md)
- [Docker 部署](../部署指南/Docker部署.md)
