---
name: nutrient-document-processing
description: 使用 Nutrient DWS API 進行文件處理、轉換、OCR、擷取、脫敏 (Redact)、簽署及填寫。支援 PDF, DOCX, XLSX, PPTX, HTML 及圖片。
---

# Nutrient 文件處理 (Nutrient Document Processing)

使用 [Nutrient DWS Processor API](https://www.nutrient.io/api/) 進行文件處理。功能包含格式轉換、文字與表格擷取、掃描檔 OCR、個資 (PII) 脫敏、增加浮水印、數位簽署以及 PDF 表單填寫。

## 設定

在 **[nutrient.io](https://dashboard.nutrient.io/sign_up/?product=processor)** 獲取免費的 API 金鑰。

```bash
export NUTRIENT_API_KEY="pdf_live_..."
```

所有請求皆發送至 `https://api.nutrient.io/build`，採用 multipart POST 方式，並帶有一個包含指令的 `instructions` JSON 欄位。

## 操作指令

### 文件轉換

```bash
# DOCX 轉為 PDF
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.docx=@document.docx" \
  -F 'instructions={"parts":[{"file":"document.docx"}]}' \
  -o output.pdf

# PDF 轉為 DOCX
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"output":{"type":"docx"}}' \
  -o output.docx

# HTML 轉為 PDF
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "index.html=@index.html" \
  -F 'instructions={"parts":[{"html":"index.html"}]}' \
  -o output.pdf
```

支援的輸入格式：PDF, DOCX, XLSX, PPTX, DOC, XLS, PPT, PPS, PPSX, ODT, RTF, HTML, JPG, PNG, TIFF, HEIC, GIF, WebP, SVG, TGA, EPS。

### 文字與數據擷取

```bash
# 擷取純文字
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"output":{"type":"text"}}' \
  -o output.txt

# 將表格擷取為 Excel 檔案
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"output":{"type":"xlsx"}}' \
  -o tables.xlsx
```

### 掃描文件 OCR

```bash
# 通過 OCR 生成可搜尋的 PDF (支援 100 多種語言)
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "scanned.pdf=@scanned.pdf" \
  -F 'instructions={"parts":[{"file":"scanned.pdf"}],"actions":[{"type":"ocr","language":"english"}]}' \
  -o searchable.pdf
```

語言設定：支援 100 多種語言，使用 ISO 639-2 代碼（例如：`eng`, `deu`, `fra`, `spa`, `jpn`, `kor`, `chi_sim`, `chi_tra`, `ara`, `hin`, `rus`）。直接使用語言全名如 `english` 或 `german` 亦可。請參考 [OCR 語言支援表](https://www.nutrient.io/guides/document-engine/ocr/language-support/) 獲取所有支援的代碼。

### 敏感資訊脫敏 (Redaction)

```bash
# 基於預設模式 (如 身分證字號 SSN、電子郵件)
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"redaction","strategy":"preset","strategyOptions":{"preset":"social-security-number"}},{"type":"redaction","strategy":"preset","strategyOptions":{"preset":"email-address"}}]}' \
  -o redacted.pdf

# 基於正規表示式 (Regex)
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"redaction","strategy":"regex","strategyOptions":{"regex":"\\b[A-Z]{2}\\d{6}\\b"}}]}' \
  -o redacted.pdf
```

預設範本 (Presets)：`social-security-number`, `email-address`, `credit-card-number`, `international-phone-number`, `north-american-phone-number`, `date`, `time`, `url`, `ipv4`, `ipv6`, `mac-address`, `us-zip-code`, `vin`。

### 增加浮水印

```bash
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"watermark","text":"CONFIDENTIAL","fontSize":72,"opacity":0.3,"rotation":-45}]}' \
  -o watermarked.pdf
```

### 數位簽署

```bash
# 自簽署 CMS 簽章
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "document.pdf=@document.pdf" \
  -F 'instructions={"parts":[{"file":"document.pdf"}],"actions":[{"type":"sign","signatureType":"cms"}]}' \
  -o signed.pdf
```

### 填寫 PDF 表單

```bash
curl -X POST https://api.nutrient.io/build \
  -H "Authorization: Bearer $NUTRIENT_API_KEY" \
  -F "form.pdf=@form.pdf" \
  -F 'instructions={"parts":[{"file":"form.pdf"}],"actions":[{"type":"fillForm","formFields":{"name":"Jane Smith","email":"jane@example.com","date":"2026-02-06"}}]}' \
  -o filled.pdf
```

## MCP 伺服器 (替代方案)

對於原生工具整合，可使用 MCP 伺服器替代 curl 指令：

```json
{
  "mcpServers": {
    "nutrient-dws": {
      "command": "npx",
      "args": ["-y", "@nutrient-sdk/dws-mcp-server"],
      "env": {
        "NUTRIENT_DWS_API_KEY": "YOUR_API_KEY",
        "SANDBOX_PATH": "/path/to/working/directory"
      }
    }
  }
}
```

## 何時使用

- 在不同格式間進行文件轉換（PDF, DOCX, XLSX, PPTX, HTML, 圖片）。
- 從 PDF 中擷取文字、表格或鍵值對。
- 對掃描文件或圖片進行 OCR 文字辨識。
- 在分享文件前對個資 (PII) 進行脫敏。
- 為草案或機密文件增加浮水印。
- 對合約或協議進行數位簽署。
- 透過程式化方式填寫 PDF 表單。

## 相關連結

- [API 測試場 (Playground)](https://dashboard.nutrient.io/processor-api/playground/)
- [完整 API 文件](https://www.nutrient.io/guides/dws-processor/)
- [npm MCP 伺服器專頁](https://www.npmjs.com/package/@nutrient-sdk/dws-mcp-server)
