Convert between .docx and .md files with template support and advanced document post-processing
Project description
DocxMD Converter
Мощный Python пакет для конвертации между Microsoft Word (.docx) и Markdown (.md) файлами с поддержкой шаблонов, рекурсивной обработкой директорий и передовой системой пост-обработки документов.
✨ Особенности
🔄 Конвертация
- Двунаправленная конвертация:
.docx⇄.md - Поддержка шаблонов: используйте кастомные .docx шаблоны
- Рекурсивная обработка: конвертируйте целые деревья папок
- Сохранение структуры: иерархия папок остается неизменной
🧠 Финальная интеграция - Enhanced процессор v2.1.0
- 🚀 Единая архитектура: объединены все лучшие решения
- 📋 Интеллектуальное распознавание: автоматическое определение должностных инструкций
- 🛡️ Безопасная обработка: защита документации от случайных изменений
- 🎯 Полная структуризация: стандартизированный формат документов
- ✨ Комплексная очистка: удаление всех артефактов КонсультантПлюс
- 📊 Расширенные метаданные: качественная оценка обработки
🖥️ Интерфейсы
- CLI: мощный командный интерфейс
- GUI: удобное графическое приложение
- API: программный доступ ко всем функциям
📈 Отчетность и качество
- Детальные отчеты: статистика обработки и качества
- Метрики качества: high/medium/low оценки
- Прогресс: отслеживание выполнения операций
🚀 Быстрый старт
Установка
# Из PyPI (рекомендуемо)
pip install docxmd-converter
# Или локально для разработки
git clone https://github.com/we256681/docxmd_converter.git
cd docxmd_converter && pip install -e .
Важно: Требуется установленный Pandoc.
Установка Pandoc
Ubuntu/Debian:
sudo apt-get install pandoc
macOS:
brew install pandoc
Windows:
choco install pandoc
# или скачайте с pandoc.org
Примеры использования
🎯 Рекомендуемое использование (Enhanced процессор v2.1.0)
# Безопасное тестирование в специальной папке
docxmd --src ./docs/Conversion --dst ./docs/Conversion --format docx2md --processor enhanced --post-process
# Полная конвертация с передовой пост-обработкой
docxmd --src ./documents --dst ./markdown --format docx2md --processor enhanced --post-process
# Принудительная переобработка всех файлов (осторожно!)
docxmd --src ./documents --dst ./markdown --format docx2md --processor enhanced --post-process --force-process
📋 Базовые операции
# Простая конвертация без обработки
docxmd --src ./documents --dst ./markdown --format docx2md
# Обратная конвертация с шаблоном
docxmd --src ./markdown --dst ./documents --format md2docx --template ./template.docx
# Подробный вывод
docxmd --src ./input --dst ./output --format docx2md --verbose
⚙️ Типы пост-процессоров
# Enhanced (рекомендуемый) - полная очистка и структурирование
--processor enhanced
# Advanced - продвинутая обработка
--processor advanced
# Basic - базовая очистка
--processor basic
� Что делает Enhanced процессор
✅ Очистка артефактов
- Удаляет все следы КонсультантПлюс и других систем
- Очищает обратные слеши и неправильные переносы
- Исправляет сломанную пунктуацию и форматирование
🏗️ Структурирование документов
- Создает единый формат для всех должностных инструкций:
# Должностная инструкция: Название_должности ## Информация о документе ## 1. Общие положения ## 2. Функции ## 3. Должностные обязанности ## 4. Права ## 5. Ответственность ## 6. Заключительные положения ## 7. Согласование и утверждение
🎯 Интеллектуальные возможности
- Распознавание контента: определяет должностные инструкции по содержимому
- Пропуск нерелевантных файлов: не обрабатывает документацию и конфигурации
- Исправление полей: унифицирует поля заполнения в формат
`____________________________` - Склеивание разбитых строк: восстанавливает целостность текста
🔧 Программное использование
from docxmd_converter import DocxMdConverter
from docxmd_converter.enhanced_processor import EnhancedDocumentProcessor
# Безопасное тестирование
converter = DocxMdConverter()
converter.convert_directory(
src_dir="./docs/Conversion",
dst_dir="./docs/Conversion",
format="docx2md",
post_process=True,
processor_type="enhanced"
)
# Продакшн конвертация с полной пост-обработкой
converter.convert_directory(
src_dir="./documents",
dst_dir="./markdown",
format="docx2md",
post_process=True,
processor_type="enhanced"
)
# Только пост-обработка существующих файлов
processor = EnhancedDocumentProcessor()
results = processor.process_directory("./docs/Conversion")
print(f"Обработано: {results.processed}/{results.total}")
print(f"Пропущено: {results.skipped}, Ошибок: {results.errors}")
print(f"Качество: {results.quality_stats}")
📋 GUI Приложение
# Запуск графического интерфейса
docxmd-gui
Или программно:
from docxmd_converter.gui import main
main()
🔍 Поиск проблем
Частые проблемы
Pandoc не найден:
# Проверьте установку
pandoc --version
# Ubuntu/Debian
sudo apt-get install pandoc
# Или обновите PATH
Ошибки кодировки:
# Используйте параметр verbose для диагностики
docxmd --src ./input --dst ./output --format docx2md --verbose
Пропускаются файлы:
# Принудительная обработка
docxmd --src ./input --dst ./output --format docx2md --processor enhanced --post-process --force-process
� Связанные документы
- CHANGELOG.md - история изменений
- docs/documentation_management/Rules.md - правила документации
- examples/ - примеры использования
- tests/ - тесты
🤝 Вклад в проект
- Изучите правила документации
- Создайте форк проекта
- Создайте ветку для изменений
- Добавьте тесты для новых функций
- Убедитесь, что тесты проходят
- Создайте Pull Request
📄 Лицензия
MIT License - подробности в LICENSE.
🚀 Финализация в версии 2.1.0
✅ Завершена полная интеграция
- Единая архитектура: объединены все лучшие решения из scripts/
- Enhanced процессор v2.1.0: финальная версия с комплексной обработкой
- Безопасность: защита документации от случайных изменений
- Тестирование: папка docs/Conversion/ для безопасных экспериментов
- Очищенный код: удалена директория scripts/, все интегрировано
🛡️ Безопасная обработка документов
- Защита системных файлов: автоматический пропуск .py, .json, .yml файлов
- Защита документации: исключение docs/documentation_management/
- Интеллектуальный анализ: обработка только должностных инструкций
- Архивирование: старые скрипты сохранены в archive/scripts_backup/
Статус проекта: ✅ Активная разработка Поддерживаемые версии Python: 3.8+ Платформы: Windows, macOS, Linux
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file docxmd_converter-3.0.0.tar.gz.
File metadata
- Download URL: docxmd_converter-3.0.0.tar.gz
- Upload date:
- Size: 36.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c2e040824337d75f8f3e9a1008a451b208a8230dbb5536668a5bf1997d6be1c7
|
|
| MD5 |
a42b5bf81ac0f087957ebb024ca6c597
|
|
| BLAKE2b-256 |
6195f045da11444a982942dbed4b7e077d1a57923851d221a2311103422b2fba
|
File details
Details for the file docxmd_converter-3.0.0-py3-none-any.whl.
File metadata
- Download URL: docxmd_converter-3.0.0-py3-none-any.whl
- Upload date:
- Size: 33.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
977b367e6b2dd53fc4ff075c9d922e1a827f9110bdb52170b01e0d29be9596b2
|
|
| MD5 |
4aa63d5ad3071f3647375ce38a4b5bdf
|
|
| BLAKE2b-256 |
c82c5041c319c3e7934a0f0fda9c1e8ffb8229bdbe0847e193aa481e086bd0b5
|