Files
crm.clientright.ru/crm_extensions/README_pdf_parser.md

119 lines
3.8 KiB
Markdown
Raw Permalink Normal View History

# PDF Парсер судебных документов
Скрипт для извлечения структурированных данных из PDF файлов судебных документов.
## Файлы
- `pdf_court_parser.py` - основной скрипт для парсинга PDF
- `court_document_parser.py` - парсер текста (используется внутри)
## Установка зависимостей
```bash
# Установка poppler-utils (рекомендуется)
sudo apt-get install poppler-utils
# Установка Python библиотек
pip3 install pdfplumber
```
## Использование
### 1. Прямой вызов скрипта
```bash
# Парсинг PDF файла
python3 pdf_court_parser.py "/path/to/document.pdf"
```
### 2. Вызов из n8n через SSH
```bash
# Команда для SSH node в n8n:
python3 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/pdf_court_parser.py "{{ $json.pdf_path }}"
```
## Формат входных данных
В n8n передайте путь к PDF файлу:
```json
{
"pdf_path": "/tmp/document.pdf"
}
```
## Формат выходных данных
```json
[
{
"case_number": "М-5071/2025",
"execution_number": null,
"uid": "50RS0052-01-2025-007323-70",
"court": "Щелковский городской суд",
"plaintiff": "Соколов Александр Владимирович",
"defendant": "ООО СКИЛБОКС",
"document_type": "ОПРЕДЕЛЕНИЕ",
"document_date": "26 августа 2025 г.",
"judge": "Пикулева Т.И.",
"pdf_file": "/tmp/document.pdf",
"extracted_text_length": 1234,
"raw_text": "Извлеченный текст...",
"extraction_timestamp": "2025-09-30T16:08:33.294637"
}
]
```
## Извлекаемые поля
- **case_number** - номер дела
- **execution_number** - номер исполнительного листа
- **uid** - уникальный идентификатор (УИД)
- **court** - название суда
- **plaintiff** - ФИО истца
- **defendant** - ФИО/название ответчика
- **document_type** - тип документа (ОПРЕДЕЛЕНИЕ, РЕШЕНИЕ, и т.д.)
- **document_date** - дата документа
- **judge** - ФИО судьи
- **pdf_file** - путь к исходному PDF файлу
- **extracted_text_length** - длина извлеченного текста
## Пример использования в n8n
1. **Загрузите PDF файл** в n8n (например, через HTTP Request)
2. **Сохраните файл** во временную папку
3. **Создайте SSH node** с командой:
```bash
python3 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/pdf_court_parser.py "{{ $json.file_path }}"
```
4. **Получите структурированные данные** в следующем узле
## Поддерживаемые методы извлечения текста
1. **pdftotext** (poppler-utils) - основной метод
2. **pdfplumber** - резервный метод
3. **PyPDF2** - дополнительный метод
## Требования
- Python 3.6+
- poppler-utils (рекомендуется)
- pdfplumber (установлен)
- Стандартные библиотеки Python
## Преимущества PDF парсинга
- ✅ Нет проблем с экранированием кавычек
- ✅ Сохраняется форматирование текста
- ✅ Работает с любыми PDF документами
- ✅ Простая интеграция с n8n
- ✅ Надежное извлечение текста