GoodSort присваивает отсканированным файлам PDF единообразные имена и раскладывает их по уже существующей структуре папок. Локальная языковая модель читает текст каждого документа и предлагает дату, вторую сторону и заголовок. Вы рассматриваете каждое предложение по отдельности и подтверждаете его или исправляете.
Каждое исправление программа запоминает и тут же применяет ко всем ожидающим документам той же стороны. Пять неверно распознанных счетов одного отправителя требуют, таким образом, одного исправления.
Версия 1.1 · Для macOS 14 (Sonoma) и новее · Universal (Apple Silicon & Intel) · бесплатно
Замечание о первом запуске: GoodSort является бесплатным частным проектом и не заверен у Apple. Для этого понадобился бы платный счёт разработчика. Поэтому macOS отклоняет двойной щелчок. Как разрешить приложение: распакуйте ZIP, перетащите программу в папку «Программы», затем щёлкните по ней правой кнопкой и выберите «Открыть». Это нужно только при первом запуске.
Вам нравится GoodSort? Поддержите разработку небольшим пожертвованием.
Что умеет GoodSort
Распознавание текста и языковая модель работают полностью локально. Полный проход проходит и в режиме полёта, и это надёжное доказательство. Ни один документ и ни один отрывок текста не покидает машину.
Проход читает, распознаёт текст и предлагает имя и место хранения. При этом он не перемещает ни одного файла. Только ваше подтверждение в окне проверки перемещает или копирует.
Перемещение освобождает исходную папку. Копирование оставляет прежний архив полностью нетронутым и требует для этого вдвое больше места. Режим выбирается до начала прохода.
Каждый сеанс пишет собственный файл, по строке на движение, сразу на диск. Из него можно отменить как отдельное движение, так и весь сеанс. Перемещённые файлы возвращаются на прежнее место, копии отправляются в корзину.
GoodSort находит побайтно совпадающие и текстово совпадающие дубликаты и убирает их в отдельную папку. Ничего не удаляется.
Подтверждённое соответствие действует для всех дальнейших документов той же стороны. Если при проверке вы измените имя, возникает равенство имён, например UniCredit Bank AG к Hypovereinsbank. Все ожидающие документы со старым именем сразу получают новое.
GoodSort один раз считывает ваш существующий архив. После этого на выбор предлагаются только эти цели. Новых папок программа не выдумывает.
Имя файла складывается из блоков, по умолчанию {datum} {gegenueber} - {titel}. Пустые блоки исчезают вместе со своими разделителями. То же касается и целевого пути.
Немецкий и английский входят в поставку. Каждое видимое слово хранится в одном файле JSON. Кому нужен ещё один язык, меняет там правый столбец, не пересобирая программу.
Как это работает
1. Настройка. Выберите исходную папку со сканами, выберите целевую папку и считайте существующую структуру.
2. Запуск прохода. GoodSort читает, распознаёт текст, находит дубликаты и предлагает имя и место хранения. Проход можно в любой момент остановить и продолжить.
3. Проверка. Документ за документом. Слева предложение, справа просмотр страницы. Клавиша ввода принимает и переходит дальше, U отменяет последнее движение.
4. Контроль. Каждое движение записано в журнал рядом с архивом, там его можно перечитать или отменить.
Длинные проходы при желании запускаются без окна, например на ночь.
Требования
macOS 14 (Sonoma) или новее. Распознавание текста и инструменты для PDF встроены в программу, устанавливать для этого ничего не нужно.
Единственная дополнительная программа, которая нужна, это ollama, локальный сервер моделей. Он бесплатен и доступен на ollama.com. Если его нет, GoodSort укажет на это при запуске и загрузит языковую модель по нажатию кнопки.
Обратная связь
Чего-то не хватает, где-то запинается или GoodSort просто пришёлся по душе? Я рад любому отклику, хватит и нескольких строк.
Примечания
Замысел и разработка: Jan Gutzeit. Программа предлагается бесплатно. GoodSort является родственной программой к GoodEdit и следует тому же оформлению.
Об одном стоит сказать прямо: рядом с очередью рабочая база данных хранит и распознанный исходный текст первых страниц. Поэтому у неё та же степень конфиденциальности, что и у самого архива. По окончании работы этот текст убирается одной командой.