🚀 智能PDF翻譯節點 v4.2.1 - 使用Amazon AI服務為ComfyUI提供專業級PDF翻譯功能,具備先進的幻覺檢測和修正能力,現已完美支持圖片OCR翻譯
- 🛡️ 通用反幻覺系統 - 智能檢測和修正翻譯中的幻覺內容,準確率提升90%+
- 🖼️ 智能圖片OCR - 自動識別和翻譯PDF中的圖片文字,完美解決第一頁圖片翻譯問題
- 📄 PDF文字替換 - 將翻譯文字精確替換到原PDF位置,生成完整翻譯PDF文件
- 🎯 高級詞彙排除 - 多行輸入支持,精確保護技術術語和專有名詞
- 📝 格式完美保持 - 逐行翻譯,保持原文換行、項目符號等格式
- 🤖 AI內容分析 - 使用Bedrock Claude智能過濾版權信息和元數據
- 🌐 專業翻譯質量 - Amazon Translate + 智能後處理,語意流暢自然
- 🔍 實時調試日誌 - 透明的翻譯過程,便於問題診斷和優化
- ⚡ 高效批處理 - 優化的處理流程,快速完成大文檔翻譯
PDF文件 → 文字提取 → 圖片檢測 → 智能OCR → AI內容分析 → 詞彙保護 → Amazon Translate → 反幻覺處理 → 格式修復 → 翻譯報告
核心技術棧:
- AI服務: Amazon Bedrock (Claude-3-Sonnet) - 智能內容分析
- 翻譯引擎: Amazon Translate - 專業翻譯服務
- OCR引擎: AWS Textract (優先) + Tesseract (備用) - 圖片文字識別
- 反幻覺: 通用模式檢測 + 智能修正算法
- 格式保護: 逐行處理 + 結構化保持
- PDF處理: PDFPlumber + PyMuPDF - 文字和圖片提取
- 智能檢測: 自動檢測頁面圖片數量,有圖片且文字少於300字符時啟用OCR
- 雙引擎OCR: AWS Textract (雲端高精度) + Tesseract (本地備用)
- 自動回退: AWS服務不可用時自動切換到本地OCR
- 高清處理: 2倍放大提高OCR準確度
- 多語言支持: 支持中英文混合識別
- 完美整合: OCR結果與原文字無縫合併
- 文字極少: 少於50字符自動啟用
- 圖文混合: 有圖片且文字少於300字符
- 詞數稀少: 少於15個詞自動啟用
- 模式檢測: 自動識別翻譯中的幻覺內容
- 智能修正: 基於通用規則的幻覺修正
- 質量保證: 多重驗證確保翻譯準確性
- 多行輸入: 支持換行和逗號分隔的詞彙列表
- 智能保護: 使用數字標記保護專有名詞
- 邊界匹配: 精確的詞邊界匹配避免誤替換
- 恢復機制: 翻譯後自動恢復原始詞彙
cd ComfyUI/custom_nodes/
git clone https://github.com/hoycdanny/hoycdanny-amazon-pdf-translate-bedrock-comfyui-node.git ComfyUI-PDF-Translator-Procd ComfyUI-PDF-Translator-Pro
pip install -r requirements.txtmacOS:
brew install tesseract tesseract-langUbuntu/Debian:
sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim tesseract-ocr-chi-traWindows: 下載並安裝 Tesseract
確保已配置AWS憑證,可以使用以下任一方式:
方式1: AWS CLI
aws configure方式2: 環境變量
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1方式3: IAM角色 (推薦用於EC2)
安裝完成後重新啟動ComfyUI以加載新節點。
- 在ComfyUI中找到
AWS/Translation分類 - 添加
AWS PDF Translator節點 - 配置參數:
- PDF來源路徑: 要翻譯的PDF文件路徑
- 輸出路徑: 翻譯結果保存路徑
- 源語言: 如
en(英文) - 目標語言: 如
zh-TW(繁體中文) - AWS區域: 如
us-east-1 - 排除詞彙: 不需要翻譯的專有名詞
- 創建翻譯PDF: 選擇
true啟用PDF文字替換功能 - 翻譯PDF路徑: 翻譯後PDF的保存路徑
新功能: 將翻譯後的文字直接替換到原PDF的相對位置,生成完整的翻譯PDF文件
使用方法:
- 將
create_translated_pdf設置為true - 設置
translated_pdf_path為輸出PDF路徑 - 系統會自動:
- 提取原PDF中文字的精確位置
- 創建翻譯文字映射
- 生成保持原始佈局的翻譯PDF
特色:
- 📍 精確定位: 保持原文字的位置和格式
- 🎨 佈局保持: 維持原PDF的視覺佈局
- 🔤 字體適配: 自動調整字體大小和樣式
- 🖼️ 圖像保留: 保留原PDF中的圖像和圖形
AWS
Amazon
ElastiCache
Redis
Valkey
- 自動啟用: 系統會自動檢測是否需要OCR
- 日誌監控: 查看日誌了解OCR處理狀態
- 雙重保障: AWS Textract失敗時自動使用Tesseract
- 純文字PDF: 100% 覆蓋
- 圖文混合PDF: 100% 覆蓋 (包含圖片文字)
- 掃描版PDF: 95%+ 覆蓋 (依賴OCR準確度)
- AWS Textract: 95%+ (複雜版面、表格)
- Tesseract: 85%+ (簡單版面、清晰文字)
- 小文檔 (<10頁): 1-2分鐘
- 中文檔 (10-50頁): 3-8分鐘
- 大文檔 (50+頁): 10-20分鐘
問題1: OCR沒有啟動
解決方案:
1. 檢查頁面是否真的需要OCR (有圖片且文字<300字符)
2. 查看日誌中的OCR檢測信息
3. 確認依賴已正確安裝
問題2: AWS Textract失敗
解決方案:
1. 檢查AWS憑證配置: aws configure list
2. 確認Textract服務權限
3. 檢查區域是否支持Textract
4. 系統會自動回退到Tesseract
問題3: Tesseract識別不準確
解決方案:
1. 確認已安裝中文語言包: brew install tesseract-lang
2. 檢查PDF圖片質量
3. 考慮使用AWS Textract (更準確)
問題4: 翻譯質量不佳
解決方案:
1. 添加更多排除詞彙
2. 檢查源語言設置是否正確
3. 使用反幻覺系統會自動改善
問題5: 格式丟失
解決方案:
1. 系統會自動保持換行和項目符號
2. 檢查原文格式是否清晰
3. 查看翻譯報告了解處理詳情
- 確保PDF圖片清晰度足夠
- 優先使用AWS Textract獲得最佳效果
- 為複雜版面文檔預留更多處理時間
- 提前準備專有名詞列表
- 使用換行分隔多個詞彙
- 定期更新排除詞彙列表
- AWS Textract按頁面收費,注意成本
- 可以只使用Tesseract進行本地OCR
- 合理設置AWS區域減少延遲
- ✅ 完美修復圖片OCR功能
- ✅ 智能圖片檢測和OCR觸發
- ✅ 雙引擎OCR支持 (AWS Textract + Tesseract)
- ✅ 修復fitz導入問題
- ✅ 增強調試日誌和錯誤處理
- ✅ 通用反幻覺檢測和修正系統
- ✅ 高級詞彙排除功能
- ✅ 完美的格式保持機制
- ✅ AI內容分析和清理
歡迎提交Issue和Pull Request來改善這個項目!
MIT License
感謝Amazon Web Services提供強大的AI和翻譯服務支持。
- 智能檢測: 自動識別翻譯中的幻覺模式(如重複年份、錯誤機構名)
- 通用修正: 基於統計特徵而非硬編碼詞彙的修正機制
- 上下文感知: 根據原文內容判斷是否為幻覺
- 多行輸入: 支持換行分隔的詞彙列表
- 智能匹配: 詞邊界匹配,避免部分替換
- 優先級處理: 長詞彙優先,避免覆蓋問題
- 逐行翻譯: 保持原文的換行結構
- 項目符號: 自動識別和保護 •、-、► 等符號
- 空行處理: 正確處理文檔中的空行和間距
cd ComfyUI/custom_nodes/
git clone https://github.com/hoycdanny/hoycdanny-amazon-pdf-translate-bedrock-comfyui-node.gitcd hoycdanny-amazon-pdf-translate-bedrock-comfyui-node
pip install -r requirements.txtmacOS:
brew install tesseract tesseract-langUbuntu/Debian:
sudo apt-get install tesseract-ocr tesseract-ocr-chi-sim tesseract-ocr-chi-traWindows: 下載並安裝 Tesseract
確保已配置AWS憑證,可以使用以下任一方式:
方式1: AWS CLI
aws configure方式2: 環境變量
export AWS_ACCESS_KEY_ID=your_access_key
export AWS_SECRET_ACCESS_KEY=your_secret_key
export AWS_DEFAULT_REGION=us-east-1方式3: IAM角色 (推薦用於EC2)
完全重啟ComfyUI以載入新節點
在ComfyUI中搜索:AWS PDF Translator
| 參數 | 說明 | 範例 |
|---|---|---|
| pdf_source_path | 來源PDF文件路徑 | /path/to/document.pdf |
| pdf_target_path | 輸出文件路徑 | /path/to/translated_output.txt |
| source_language | 源語言代碼 | en (英文) |
| target_language | 目標語言代碼 | zh-TW (繁體中文) |
| aws_region | AWS區域 | us-east-1 |
| excluded_words | 排除詞彙 | AWS,API,SDK (逗號分隔) |
| 語言 | 代碼 | 語言 | 代碼 |
|---|---|---|---|
| 英文 | en |
中文簡體 | zh |
| 中文繁體 | zh-TW |
日文 | ja |
| 韓文 | ko |
法文 | fr |
| 德文 | de |
西班牙文 | es |
| 意大利文 | it |
葡萄牙文 | pt |
| 俄文 | ru |
- IMAGE: 翻譯完成狀態圖像
- STRING: 詳細處理報告,包含翻譯預覽
確保你的AWS憑證具有以下權限:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"bedrock:InvokeModel"
],
"Resource": "arn:aws:bedrock:*::foundation-model/anthropic.claude-3-sonnet-20240229-v1:0"
},
{
"Effect": "Allow",
"Action": [
"translate:TranslateText"
],
"Resource": "*"
}
]
}- 設定PDF來源路徑:
/Users/username/document.pdf - 設定輸出路徑:
/Users/username/translated_document.txt - 選擇語言:
en→zh-TW - 執行節點
在 excluded_words 欄位輸入:
AWS,Amazon,ElastiCache,Redis,API,SDK,JSON
這些詞彙在翻譯後會保持英文形式。
翻譯完成後會生成保持原格式的PDF文件:
- 保留原始PDF的所有內容和格式
- 在頁面下方添加半透明翻譯區域
- 支援繁體中文字體顯示
- 可直接用PDF閱讀器查看
如果PDF覆蓋失敗,會自動生成UTF-8編碼的文字文件:
📄 Page 1
──────────────────────────────
🔤 Original Text:
AWS Supports Valkey Project...
🌐 Chinese Translation:
AWS 支援 Valkey 專案...
==================================================
1. 節點不出現
- 檢查是否正確安裝依賴項
- 完全重啟ComfyUI
2. AWS權限錯誤
botocore.exceptions.NoCredentialsError
- 檢查AWS憑證配置
- 確認權限設定正確
3. Bedrock模型訪問錯誤
AccessDeniedException
- 在AWS控制台中啟用Bedrock模型訪問權限
- 前往 Bedrock → Model access → Request model access
4. PDF無法處理
- 確保PDF包含可提取的文字(非掃描版)
- 檢查文件路徑是否正確
ComfyUI控制台會顯示詳細的處理日誌:
🚀 AWS PDF Translator
📖 Extracting text from PDF with AI content analysis
🤖 AI analyzing page 1 content...
🌐 Translating with Amazon Translate
✅ Translation completed successfully!
- Bedrock Claude-3-Sonnet: ~$0.003 per 1K tokens
- Amazon Translate: ~$15 per 1M characters
- 典型7頁PDF: 約 $0.01-0.05 USD
歡迎提交Issue和Pull Request!
MIT License
Danny Ho - hoycdanny
⭐ 如果這個專案對你有幫助,請給個星星!