Герман Гаража / Приложения

OCR

Бесплатное распознавание текста для Mac. Сочетание клавиш, выделение любой части экрана, и её текст скопирован.

Apple silicon, macOS 13 или новее. Интерфейс на английском, украинском и русском.

Л. Н. Толстой, «Война и мир», том первый, страница 5

Для продвинутых пользователей и языковых моделей

OCR читает текст, который нельзя выделить: картинки, сканы в PDF, кадры видео, окна приложений. Своего движка распознавания в нём нет, он соединяет две вещи, которые в macOS уже есть: выделение экрана из screencapture и Vision от Apple. Распознавание идёт на самом Mac, без интернета. Без истории, без логов.

Как это устроено

Языки

Языки те, что есть у Vision в установленной macOS, приложение узнаёт их при запуске. Своего списка в нём нет, поэтому то, что добавит Apple, заработает без новой версии, а в старой macOS языков просто меньше. Выбирать язык не нужно: Vision определяет его построчно.

Измерено: 14 на macOS 13.7, 33 на macOS 27.2. Число зависит от macOS. Другие версии не считались.

macOS 13.7: английский, французский, итальянский, немецкий, испанский, португальский, китайский (упрощённый и традиционный), кантонский (упрощённый и традиционный), корейский, японский, русский, украинский.

В macOS 27.2 к ним добавляются: тайский, вьетнамский, арабский, неджди, турецкий, индонезийский, чешский, датский, нидерландский, норвежский, нюнорск, букмол, малайский, польский, румынский, шведский, финский, хинди, маратхи.

Vision берёт один язык на строку, поэтому слово на другой письменности внутри латинской или кириллической строки вышло бы бессмыслицей. OCR находит такие слова и читает их отдельно. Слово, где смешались похожие латинские и кириллические буквы, возвращается к своему основному алфавиту.

Вопросы

Работает без интернета?

Да. Распознаванию сеть не нужна; единственный сетевой вызов: проверка обновлений раз в день. Ссылки в окне открываются, только если по ним кликнуть.

Какое разрешение ему нужно и зачем?

Запись экрана, чтобы прочитать выделенную область. macOS спрашивает при первом запуске. Без разрешения каждое нажатие показывает одно и то же окно с кнопкой в Системные настройки.

Чем отличается от «Сканера текста» в macOS?

«Сканер текста» работает с картинками и видео внутри приложений, которые его поддерживают. OCR работает с любой областью экрана, в любом приложении, по одному сочетанию клавиш, и оставляет результат в буфере обмена. Оба читают распознаванием Apple.

Почему первый запуск долгий?

Vision один раз готовит модель для каждой программы. На macOS 27 это заняло около полуминуты. OCR делает это в фоне при запуске, чтобы следующие нажатия не ждали.

Почему macOS 13 и Apple silicon?

Ниже macOS 13 у Vision нет кириллицы и определения языка. Mac с Intel не поддерживаются.

Обновления

Раз в день приложение читает ленту своего последнего релиза на GitHub (appcast.xml) через Sparkle. О самом Mac ничего не отправляется. Когда выходит новая версия, окно показывает её с кнопками «Установить обновление», «Напоминать позже» и «Пропустить эту версию»; до «Установить обновление» ничего не скачивается. Проверка обновлений в окне проверяет сразу.

Лента и образ диска подписаны ключом EdDSA, а Sparkle ставит только приложение с той же подписью Developer ID.

Настройки и удаление

Он хранит сочетание клавиш и время последней проверки обновлений в defaults com.geragaraza.ocr и скомпилированную модель Vision в ~/Library/Caches/com.geragaraza.ocr.

Чтобы удалить OCR: «Выйти» в его окне, OCR.app в Корзину, defaults delete com.geragaraza.ocr и удаление той папки кэша. Запись экрана для него убирается в Системных настройках, «Конфиденциальность и безопасность».

Если ставили через Homebrew, brew uninstall --zap ocr закрывает его и удаляет приложение, настройки и кэш; запись экрана убирается в Системных настройках.

Из Терминала

/Applications/OCR.app/Contents/MacOS/OCR --file a.png b.png печатает текст картинок вместо копирования. --selftest запускает собственную проверку приложения.

Подробности

English Українська Русский