Skip to content

Latest commit

 

History

History
103 lines (78 loc) · 7.22 KB

File metadata and controls

103 lines (78 loc) · 7.22 KB

Утилита не все файлы обрабатывает корректно! Используйте: https://github.com/Sa6a/docx4llm

DocxNumConvert

DocxNumConvert — это утилита командной строки для обработки файлов .docx. Её основная задача — преобразовать автоматические нумерованные и маркированные списки в документе Word в обычный текст с сохранением форматирования нумерации/маркировки. Дополнительно утилита позволяет конвертировать обработанный .docx файл в различные другие форматы с помощью Pandoc.

Это может быть полезно для дальнейшей обработки документа в системах, которые плохо поддерживают сложные автоматические списки Word, или для упрощения структуры документа перед конвертацией.

Возможности

  • Очистка нумерации: Удаляет автоматические списки из .docx, вставляя их номера/маркеры как обычный текст.
  • Конвертация форматов (опционально): Позволяет конвертировать обработанный .docx файл в популярные форматы, такие как Markdown, HTML, PDF (требуется LaTeX) и другие, используя Pandoc.
  • Отслеживание изменений: При конвертации можно указать, как обрабатывать отслеживаемые изменения в документе (принять, отклонить или сохранить все).
  • Кросс-платформенность: Скомпилированные исполняемые файлы доступны для Windows, macOS и Linux.
  • Простота использования: Интерактивный режим командной строки для указания файлов и опций.

Требования

  • Для основной функции (очистка нумерации): Никаких дополнительных зависимостей, кроме самой утилиты.
  • Для функции конвертации форматов: Pandoc должен быть установлен и доступен в системной переменной PATH. Для конвертации в PDF также обычно требуется установленный дистрибутив LaTeX (например, MiKTeX для Windows, MacTeX для macOS, TeX Live для Linux).

Установка

  1. Перейдите на страницу Релизы.
  2. Скачайте архив с исполняемым файлом для вашей операционной системы.
  3. Распакуйте архив.
  4. (Опционально) Добавьте путь к исполняемому файлу в системную переменную PATH для удобного вызова из любой директории или просто запускайте его, указывая полный путь.
  5. (Опционально) Установите [Pandoc] (https://pandoc.org/installing.html).

Использование

Запустите утилиту из командной строки:

./DocxNumConvert 
# (или DocxNumConvert.exe для Windows)

Утилита задаст вам несколько вопросов:

  1. Путь к входному .docx файлу: Укажите полный путь к файлу, который нужно обработать.
  2. Конвертация в другой формат: Ответьте "да" или "нет".
  3. Если "да" на предыдущий вопрос:
    • Желаемый формат вывода: (например, markdown, gfm, html, pdf).
    • Режим отслеживания изменений: (all, accept, reject или Enter для all).

Обработанный .docx файл будет сохранен в той же директории, что и исходный, с суффиксом _numbered (например, mydocument_numbered.docx). Если выбрана конвертация, сконвертированный файл также будет сохранен в той же директории.

Пример

$ ./DocxNumConvert
--- Обработчик нумерации DOCX ---
Введите полный путь к DOCX файлу для обработки: /path/to/mydocument.docx
Файл будет обработан и сохранен как: /path/to/mydocument_numbered.docx
Начинаю обработку файла: /path/to/mydocument.docx...
Файл '/path/to/mydocument.docx' успешно обработан и сохранен как '/path/to/mydocument_numbered.docx'
Хотите сконвертировать обработанный DOCX файл в другой формат? (да/нет): да

Доступные форматы для конвертации (некоторые могут требовать доп. ПО, например, LaTeX для PDF):
 - markdown (рекомендуется)
 - gfm (GitHub Flavored Markdown)
 - html
 - pdf
 - commonmark
Или введите любой другой формат, поддерживаемый Pandoc.
Введите желаемый формат вывода: markdown

Режим отслеживания изменений при конвертации:
 - all (сохранить все изменения)
 - accept (принять все изменения)
 - reject (отклонить все изменения)
Введите режим отслеживания изменений (или Enter для 'all'): 

Начинаю конвертацию файла '/path/to/mydocument_numbered.docx' в формат 'markdown'...
Файл успешно сконвертирован и сохранен как: /path/to/mydocument_numbered.md
Завершение работы.

Сборка из исходников (для разработчиков)

  1. Установите Go.
  2. Клонируйте репозиторий:
    git clone https://github.com/Sa6a/DocxNumConvert.git
    cd DocxNumConvert
  3. Установите зависимости:
    go get
  4. Соберите проект:
    go build -o DocxNumConvert .

Содействие

Если вы нашли ошибку или у вас есть предложение по улучшению, пожалуйста, создайте Issue в этом репозитории.

Лицензия

Этот проект распространяется под лицензией MIT License.