🔧 Исправления: - Исправлены пути к папкам проектов: теперь /Documents/Project/{Name}_{Id} - Исправлена функция openProjectFolder() во всех JS файлах - Добавлены кнопки создания Word/Excel/PowerPoint из CRM (10 модулей) - Создание файлов напрямую в S3 с автоиндексацией через Redis - Исправлена ошибка 'Class Redis not found' (использован Predis) 📁 Изменённые файлы: - layouts/v7/lib/nextcloud-editor.js - crm_extensions/nextcloud_editor/js/nextcloud-editor.js - layouts/v7/lib/nextcloud-editor-v3.js - crm_extensions/file_storage/api/create_nextcloud_file.php - layouts/v7/modules/*/DetailViewHeaderTitle.tpl (10 модулей) - layouts/v7/modules/Documents/*.tpl (кнопки редактирования) 🎯 Результат: - Кнопка 'Папка в Nextcloud' открывает правильную папку - Создание файлов работает молниеносно (прямо в S3) - Redis события публикуются корректно - OnlyOffice открывается для редактирования Проект 391552 теперь открывается по правильному пути!
278 lines
6.5 KiB
Markdown
278 lines
6.5 KiB
Markdown
# 🔍 КАК НАСТРОИТЬ OCR ДЛЯ CRM
|
||
|
||
## ✅ **РУССКИЙ ЯЗЫК УСТАНОВЛЕН!**
|
||
|
||
```
|
||
Tesseract OCR 5.5.0
|
||
Языки: eng, rus, osd
|
||
```
|
||
|
||
---
|
||
|
||
## 📝 **КАК СОЗДАТЬ ПРАВИЛО OCR:**
|
||
|
||
### **Шаг 1: Открой настройки Workflow**
|
||
|
||
```
|
||
https://office.clientright.ru:8443/settings/admin/workflow
|
||
```
|
||
|
||
Или через интерфейс:
|
||
```
|
||
Settings (справа вверху) → Administration → Flow
|
||
```
|
||
|
||
---
|
||
|
||
### **Шаг 2: Создай новое правило**
|
||
|
||
Нажми **"Add new workflow"** и настрой:
|
||
|
||
#### **УСЛОВИЯ (When/And):**
|
||
|
||
```
|
||
When: File created
|
||
↓
|
||
And: File MIME type
|
||
- is: application/pdf
|
||
↓
|
||
And: File name
|
||
- matches: *.pdf
|
||
↓
|
||
And: Path (опционально, если нужна конкретная папка)
|
||
- matches: Documents/Project/*
|
||
```
|
||
|
||
#### **ДЕЙСТВИЕ (Then):**
|
||
|
||
```
|
||
Then: OCR processing
|
||
↓
|
||
Settings:
|
||
- Languages: Russian + English ← ВАЖНО!
|
||
- Mode: Searchable PDF
|
||
- Remove background: No
|
||
```
|
||
|
||
---
|
||
|
||
### **Шаг 3: Сохрани**
|
||
|
||
Нажми **"Save"**
|
||
|
||
---
|
||
|
||
## 🎯 **ПРИМЕРЫ ПРАВИЛ ДЛЯ CRM:**
|
||
|
||
### **Правило 1: OCR всех судебных документов**
|
||
|
||
```yaml
|
||
Name: "Судебные документы - автоматический OCR"
|
||
|
||
When: File created
|
||
And: File name matches: *решение*|*определение*|*постановление*
|
||
And: MIME type is: application/pdf
|
||
Then: OCR processing
|
||
Languages: Russian + English
|
||
Mode: Searchable PDF
|
||
```
|
||
|
||
**Результат:** Все решения/определения автоматически станут searchable
|
||
|
||
---
|
||
|
||
### **Правило 2: OCR сканов договоров**
|
||
|
||
```yaml
|
||
Name: "Договоры - OCR"
|
||
|
||
When: File created
|
||
And: Path matches: */Contracts/*
|
||
And: MIME type is: application/pdf
|
||
Then: OCR processing
|
||
Languages: Russian + English
|
||
Mode: Create text file (+ Searchable PDF)
|
||
```
|
||
|
||
**Результат:**
|
||
- Создаётся .txt файл с текстом
|
||
- PDF становится searchable
|
||
|
||
---
|
||
|
||
### **Правило 3: OCR всех загрузок в проекты**
|
||
|
||
```yaml
|
||
Name: "Проекты - автоматический OCR"
|
||
|
||
When: File created
|
||
And: Path matches: Documents/Project/*/
|
||
And: MIME type is: application/pdf
|
||
And: File size is less than: 10MB ← чтобы не тормозить на больших файлах
|
||
Then: OCR processing
|
||
Languages: Russian + English
|
||
```
|
||
|
||
---
|
||
|
||
## ⚡ **ПРОИЗВОДИТЕЛЬНОСТЬ:**
|
||
|
||
### **Время обработки:**
|
||
```
|
||
1 страница А4: ~3-5 секунд
|
||
10 страниц: ~30-50 секунд
|
||
50 страниц: ~3-5 минут
|
||
```
|
||
|
||
### **CPU:**
|
||
```
|
||
Во время OCR: 50-100% одного ядра
|
||
В остальное время: 0%
|
||
```
|
||
|
||
### **Память:**
|
||
```
|
||
Один файл: +50-100 MB
|
||
Nextcloud после OCR: обычная
|
||
```
|
||
|
||
---
|
||
|
||
## 🧪 **КАК ПРОТЕСТИРОВАТЬ:**
|
||
|
||
### **Тест 1: Ручной запуск OCR**
|
||
|
||
1. Открой любой PDF в Nextcloud
|
||
2. Нажми **"..."** (три точки)
|
||
3. Выбери **"Submit to optical character recognition"**
|
||
4. Выбери язык: **Russian + English**
|
||
5. Дождись обработки
|
||
|
||
**Результат:**
|
||
- Появится значок "✓" что OCR выполнен
|
||
- Текст можно искать через поиск Nextcloud
|
||
|
||
---
|
||
|
||
### **Тест 2: Автоматический OCR по правилу**
|
||
|
||
1. Создай правило (см. выше)
|
||
2. Загрузи тестовый PDF
|
||
3. Дождись 30-60 секунд
|
||
4. Проверь что файл стал searchable
|
||
|
||
**Проверка:**
|
||
```
|
||
Nextcloud → Files → Search
|
||
Введи слово из документа
|
||
Должен найтись PDF ✅
|
||
```
|
||
|
||
---
|
||
|
||
## 📊 **МОНИТОРИНГ OCR:**
|
||
|
||
### **Как проверить что OCR работает:**
|
||
|
||
**1. Через логи Nextcloud:**
|
||
```bash
|
||
docker exec nextcloud-fresh tail -f /var/www/html/data/nextcloud.log | grep -i ocr
|
||
```
|
||
|
||
**2. Через задачи:**
|
||
```
|
||
Settings → Administration → Background jobs
|
||
Ищи: workflow_ocr
|
||
```
|
||
|
||
**3. Через тег файла:**
|
||
```
|
||
В Nextcloud файлы с OCR получают тег "OCR processed"
|
||
```
|
||
|
||
---
|
||
|
||
## ⚠️ **ВАЖНЫЕ НЮАНСЫ:**
|
||
|
||
### **1. Размер файла**
|
||
```
|
||
Оптимально: < 10 MB
|
||
Медленно: 10-50 MB
|
||
Очень долго: > 50 MB
|
||
```
|
||
|
||
**Решение:** Добавь условие "File size < 10000000" в правило
|
||
|
||
---
|
||
|
||
### **2. Качество скана**
|
||
```
|
||
✅ Хорошо: 300 DPI, контрастный
|
||
⚠️ Средне: 150 DPI, нормальный
|
||
❌ Плохо: < 100 DPI, размытый
|
||
```
|
||
|
||
**Решение:** Попроси сканировать в 300 DPI
|
||
|
||
---
|
||
|
||
### **3. Очередь обработки**
|
||
```
|
||
Один файл за раз!
|
||
Если загружено 10 файлов → ждут очереди
|
||
```
|
||
|
||
**Решение:** Для массовой обработки лучше AppAPI (параллельно)
|
||
|
||
---
|
||
|
||
## 🎯 **РЕКОМЕНДУЕМАЯ НАСТРОЙКА ДЛЯ CRM:**
|
||
|
||
### **Правило 1: Важные документы (< 10 MB)**
|
||
|
||
```yaml
|
||
When: File created
|
||
And: Path matches: Documents/Project/*
|
||
And: MIME type: application/pdf
|
||
And: File size < 10MB
|
||
And: File name matches: *решение*|*определение*|*договор*|*иск*
|
||
Then: OCR (Russian + English, Searchable PDF)
|
||
```
|
||
|
||
### **Правило 2: Большие файлы (только текст)**
|
||
|
||
```yaml
|
||
When: File created
|
||
And: Path matches: Documents/Project/*
|
||
And: MIME type: application/pdf
|
||
And: File size >= 10MB
|
||
And: File name matches: *решение*|*определение*
|
||
Then: OCR (Russian + English, Text file only)
|
||
```
|
||
|
||
**Зачем два правила?**
|
||
- Маленькие файлы: полный OCR (searchable PDF)
|
||
- Большие файлы: только текст (быстрее)
|
||
|
||
---
|
||
|
||
## 🚀 **ДАВАЙ СОЗДАМ ПЕРВОЕ ПРАВИЛО?**
|
||
|
||
Я могу создать через API или покажу пошагово в интерфейсе.
|
||
|
||
**Какой вариант?**
|
||
1. Я создам автоматически через команду
|
||
2. Ты создашь сам через интерфейс (покажу как)
|
||
|
||
---
|
||
|
||
## 📝 **ИТОГО:**
|
||
|
||
✅ Tesseract с русским установлен
|
||
✅ Готов к использованию
|
||
⏳ Нужно создать правила workflow
|
||
|
||
**Создаём первое правило?** 😊
|
||
|
||
|