╔══════════════════════════════════════════════════════════════════════════╗
║ ║
║ ██████╗ ██████╗ ██████╗ ███████╗ ██████╗ █████╗ ███╗ ██╗ ║
║ ██╔══██╗██╔═══██╗██╔════╝ ██╔════╝██╔════╝██╔══██╗████╗ ██║ ║
║ ██║ ██║██║ ██║██║ ███████╗██║ ███████║██╔██╗ ██║ ║
║ ██║ ██║██║ ██║██║ ╚════██║██║ ██╔══██║██║╚██╗██║ ║
║ ██████╔╝╚██████╔╝╚██████╗ ███████║╚██████╗██║ ██║██║ ╚████║ ║
║ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝╚═╝ ╚═╝╚═╝ ╚═══╝ ║
║ ║
║ Intelligente Dokumentenerkennung für macOS ║
║ v2.4.1 ║
║ ║
╚══════════════════════════════════════════════════════════════════════════╝  ](https://nodejs.org/)  ](package.json)
______________________________________________________________________
什么是 doc-scan? — 识别文档(公司、类型、日期)并智能地重命名文件。 scan001.pdf 将 2024-01-24_Vodafone_Rechnung_VF-12345.pdf可选通过 Perplexity API 支持 AI。
______________________________________________________________________
特性
- AI支持的分析 -困惑API erkennt *全部* 公司不仅预定义(可选)
- 光学字符识别 — 通过Tesseract扫描PDF和图像
- 多格式 --PDF、DOCX、页面、TXT、PNG、JPG
- 批处理 —
doc-scan ~/Downloads/*.pdf --execute - 撤销 取消上次重命名
- macOS集成 Finder Quick Action(右键单击)
- 安全 -输入验证、路径遍历保护、API密钥保护
- 出生日期保护 — 防止信头分析中的错误检测
识别引擎
什么样的例子。 |-----|-----------| | 发件人 | 40+ 公司 (联盟、沃达丰、亚马逊,…) — 无限的人工智能 | | 文档: | 发票, 合同, 通知, 提醒, 终止, 对帐单, ... | | 数据 | 扫描仪时间戳 → 信件日期 (OCR) → 创建日期 (Fallback) | | 参考编号 发票号码,客户号码,合同号码,保单号码,记录号码 | 关键词 人工智能从内容中提取多达5个关键词
支持的格式
| 格式 | 方法 |
|---|---|
| 文本扩展+OCR回退(pdftoppm→ 细分) | |
| DOCX | mammath.js |
| Pages | ZIP 提取 |
| TXT | UTF-8/拉丁语-1 |
| PNG/JPG/JPEG | 通过Tesseract进行OCR |
| DOC、XLS/XLSX、PPT/PPTX、Numbers、Keynote、ODT | 保留文件名(无法提取文本) |
______________________________________________________________________
安装
# Voraussetzungen
brew install node # Node.js 18+
brew install tesseract tesseract-lang # OCR (optional)
# Installieren
git clone https://github.com/AndreasDietzel/document-scanner.git
cd document-scanner
npm install
npm run build
npm link # macht "doc-scan" global verfügbar测试:
doc-scan --help设置AI(可选)
doc-scan --setup
# → "AI-Enhancement aktivieren?" → Ja
# → Perplexity API-Key eingeben (https://www.perplexity.ai/settings/api)或手动 ~/.doc-scan.json:
{
"enableAI": true,
"perplexityApiKey": "pplx-your-key-here"
}了解更多: AI-INTEGRATION.md
______________________________________________________________________
使用
# Vorschau (Standard) — analysiert ohne Umbenennung
doc-scan rechnung.pdf
# Umbenennen
doc-scan rechnung.pdf --execute
# Batch
doc-scan ~/Downloads/*.pdf --execute
# Verbose Debug-Ausgabe
doc-scan rechnung.pdf --preview --verbose
# Undo
doc-scan --undo
# Setup-Wizard
doc-scan --setup所有旗帜
| 标志 | 描述 |
|---|---|
--preview | 未重命名分析 (标准) |
--execute 自动重命名 | |
--silent 没有 macOS 通知 | |
--verbose 详细的debug版本 | |
--setup 交互式设置向导 | |
--undo 取消上次批次重命名 | |
--undo-stats 查看取消统计 | |
--help | 帮助 |
______________________________________________________________________
实例
Umberning
| 之前 | 之后 | 已知 |
|---|---|---|
scan001.pdf | 2024-01-24_Vodafone_Rechnung_VF-12345.pdf | 日期,公司,类型,参考号 |
document.docx | 2023-12-31_Allianz_Vertrag_POL-9876.docx | 日期,公司,合同,保单号码 |
IMG_0123.jpg | 2025-03-15_Techniker_Krankenkasse_Bescheid.jpg | 基准、Firma、Typ |
AI分析输出
🤖 AI-Analyse läuft...
✓ Dokumenttyp: Rechnung (95% Konfidenz)
✓ Firma: Vodafone GmbH
✓ Keywords: Mobilfunk, LTE, Datenvolumen, Grundgebühr
→ 2025-05-15_Vodafone_Mobilfunkrechnung_LTE_RG-2024-987654.pdf批处理
doc-scan ~/Downloads/*.pdf --preview
# ============================================================
# 📊 ZUSAMMENFASSUNG - 15 Dateien verarbeitet
# ============================================================
# ✅ Erfolgreich: 15
# 📝 Umbenannt: 0
# ⏭️ Übersprungen: 3
# ❌ Fehler: 0______________________________________________________________________
配置
配置在 ~/.doc-scan.json 并且将通过 doc-scan --setup 创建 。
{
"defaultMode": "preview",
"enableOCR": true,
"ocrLanguage": "deu",
"customCompanies": ["Meine Firma GmbH"],
"enableAI": false,
"perplexityApiKey": "",
"aiConfidenceThreshold": 0.5,
"birthDate": "01.01.1990"
}| 字段 | 描述 |
|---|---|
defaultMode | preview 或 execute |
enableOCR OCR 扫描的 PDF/图像 | |
ocrLanguage | Tesseract喷雾(deu, eng, ...) |
customCompanies 自己的公司名称来识别 | |
enableAI 启用 Perplexity AI。 | |
perplexityApiKey API密钥(本地存储,未提交) | |
aiConfidenceThreshold 人工智能结果的最低信任度(0-1) | |
birthDate | 出生日期 — 在日期识别时被忽略 |
______________________________________________________________________
macOS Finder集成
设置快速操作右键单击→“扫描文档”:
- 打开自动化 → 快速行动 创建
- 添加“执行 Shell 脚本”
- 插入脚本(见 MACOS-KONTEXTMENU.md)
- 如果 “🔍 扫描文档 “ 保存
- 完成 — 右键单击文件 → 快速操作 →🔍 扫描文档
可选:在“系统设置”>“键盘”>“快捷方式”>“服务”下分配键盘快捷方式。
______________________________________________________________________
项目结构
document-scanner/
├── src/
│ ├── cli.ts # Haupt-CLI
│ ├── config.ts # Konfigurationsmanagement
│ ├── ai-analysis.ts # Perplexity AI Integration
│ ├── security.ts # Security & Validierung
│ ├── setup.ts # Setup-Wizard
│ └── undo.ts # Undo-Funktionalität
├── build/ # Kompilierte JS-Dateien
├── test-data/ # Testdateien
├── package.json
├── tsconfig.json
└── LICENSE发展
npm run build # TypeScript kompilieren
npm run watch # Watch-Modus
node build/cli.js test-data/test-rechnung.txt --preview # Lokaler Test______________________________________________________________________
故障排除
doc-scan: command not found — npm link 在repo目录中运行。
Quick Action无法显示 启用“系统设置”→“扩展”→“Finder”。
OCR不起作用 — brew install tesseract tesseract-lang然后 tesseract --list-langs 检查(必须) deu 包含)。
“没有找到文本” — OCR未安装,文件已损坏,或图像没有文本。调试使用 doc-scan datei.pdf --verbose.
______________________________________________________________________
文档
- AI-INTEGRATION.md — Perplexity AI 设置和使用
- MACOS-KONTEXTMENU.md --自动机快速操作设置
- 安全.md --安全和ISO 25010
- 更改日志.md --版本故事
______________________________________________________________________
许可证
MIT - 见 许可证
安德烈亚斯·迪策尔 — @安德烈亚斯·迪策尔
