Skip to content

Go utility to convert automatic lists in DOCX files to static text and optionally convert to other formats using Pandoc.

License

Notifications You must be signed in to change notification settings

Sa6a/DocxNumConvert

Repository files navigation

Утилита не все файлы обрабатывает корректно! Используйте: 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.

About

Go utility to convert automatic lists in DOCX files to static text and optionally convert to other formats using Pandoc.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages