LeanImg

Как извлечь текст из скриншота без его загрузки?

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

Большинство сайтов OCR берут ваш скриншот, загружают его на сервер и считывают там. Это нормально для фотографии меню ресторана. Это другое решение для расчетного листа, страницы паспорта или скриншота личного чата. Наш инструмент для извлечения текста из изображения выполняет распознавание внутри вашей вкладки браузера, поэтому файл остается на вашем диске, а текст появляется рядом с ним.

Движок — это Tesseract, скомпилированный в WebAssembly и поставляемый с страницей. Ваш первый запуск загружает рабочий скрипт, ядро WebAssembly и одну языковую модель. Ваш браузер кэширует все три. После этого ничего больше не нужно загружать.

Мой скриншот загружается?

Нет. В этом коде нет конечной точки загрузки, которая могла бы ее принять. Единственный сетевой трафик, который делает инструмент, — это запросы с одного источника: 3 запроса на общую сумму около 6 MB для английского языка, каждый из которых обслуживается с этого домена. Ваш файл декодируется внутри страницы, передается движку в виде пикселей и преобразуется в текст там. Откройте вкладку сети во время выполнения, и вы увидите, как поступают части модели, и ничего не уходит с вашим изображением. Наша страница конфиденциальности перечисляет единственные вещи, которые мы собираем, а именно просмотры страниц и анонимные подсчеты инструментов.

Конкуренты работают наоборот. Smallpdf и iLovePDF оба выполняют распознавание на своих машинах, поэтому ваш файл должен к ним дойти, прежде чем что-либо произойдет. Их ответ на вопрос о конфиденциальности — это обещание о хранении: копия удаляется через некоторое время. Мы цитировали их формулировку о хранении в руководстве по конвертации JPG в PDF. Обещание о хранении говорит вам, как долго ваш скан паспорта находится на чужом диске. Оно ничего не говорит о том, попадает ли он туда. Здесь этот вопрос не возникает.

Насколько точно это на реальном скриншоте?

Мы это измерили. Шесть образцов с известным текстом прошли через движок 2026-08-11, и ниже приведен результат — посимвольное сравнение вывода с текстом, который мы знали, что находится на картинке. Образцы синтетические: HTML-страницы, отрисованные в браузере и захваченные как реальные скриншоты, при этом ухудшенный образец был размыт и повернут в CSS, чтобы имитировать плохую съемку на телефон.

Реальные запуски на настольном оборудовании, 2026-08-11. Оценка по японскому языку получена с нормализованным пробелом. Продолжительность не указана, так как телефон будет медленнее.
ОбразецЯзыкСхожестьУверенность
Чистый скриншотАнглийский100.0%95
Плотный абзацАнглийский100.0%95
Симулированный ухудшенный захватАнглийский92.4%65
Русский образецРусский100.0%96
Японский образецЯпонский100.0%93
Фото без текстаАнглийский515 символов вымышленного текста32
Три карточки результатов в инструменте извлечения текста из изображения: clean-screenshot.png и dense-paragraph.png обе с 95% уверенностью с чистым текстом; degraded.png с 65% с искажёнными словами
Успех и неудача в одном кадре. Ухудшенный захват внизу открывается с "ea auaracer recognition", где источник говорит "Оптическое распознавание символов".

Два английских образца вернулись с 100.0%, посимвольно, оба с уверенностью 95. Размытая и повернутая копия того же абзаца составила 92.4% и уверенность 65. Это 7.6 пунктов схожести потеряно, и цифра выше показывает, куда она ушла: начальные слова искажены, в то время как середина абзаца сохранилась. Уверенность 65 также вызывает предупреждение о низкой уверенности на карточке, так что вам сообщают об этом перед копированием.

Что происходит, если в изображении нет текста?

Это часть, которую другие страницы OCR пропускают. Мы передали движку темное фото бабочек на мохнатом бревне, и в нем нет никакой надписи. Он вернул 515 символов текста, которые никогда не существовали. Вот что делают движки OCR. Они созданы для поиска форм символов, поэтому зернистость и текстура сообщаются как символы, и ни на одном этапе в цепочке не решается, что изображение пустое.

Мы не заявляем, что можем обнаружить пустое изображение, потому что не можем. Каждый результат имеет свой балл уверенности, и предупреждение срабатывает, когда среднее значение падает ниже 60. Это фото получило 32. Чистый скриншот получает 95. Расстояние между этими двумя числами — это сигнал, и он напечатан на карточке перед тем, как вы коснетесь текста.

Он читает русский и японский?

Девять языков: английский, испанский, румынский, арабский, греческий, турецкий, индонезийский, русский и японский. Выберите один перед извлечением, потому что движок сопоставляет формы с моделью, которую вы выбрали, и неправильная модель читает плохо. Автоматического определения пока нет. Оба нелатинских образца вернулись чистыми, русский с 100.0% и уверенностью 96, японский с 100.0% и уверенностью 93, как только пробелы нормализованы, поскольку движок вставляет пробелы между японскими символами.

Карточки результатов для russian.png с 96% уверенностью и japanese.png с 93%, обе показывают правильно извлеченный текст, над панелью с надписью Текст извлечен из 6 изображений
Русские и японские образцы, правильно прочитанные в одной партии с английскими.

Каждый язык — это отдельный файл модели, tessdata_fast из проекта Tesseract, обслуживаемый с этого домена, как и все остальное. Добавление одного стоит от 0.6 до 2 MB в первый раз, когда вы его выбираете, а все девять вместе составляют около 11 MB. Ваш браузер их сохраняет, так что это одноразовая стоимость на язык, и второй запуск на любом языке начинается немедленно.

Когда не следует это использовать?

Ручной почерк. Проект Tesseract говорит об этом прямо: вы можете направить его на рукописный текст, и он не будет работать очень хорошо, потому что движок предназначен для печатного текста. Текст, сфотографированный в сцене, — это другой слабый случай, вывеска магазина и этикетка на полке. Встроенный инструмент выбора текста на вашем телефоне справляется с этим лучше, а сервис, обученный на рукописном тексте, обойдет нас на письме от вашей бабушки. Мы предпочли бы сказать это, чем провести запуск и вручить вам искаженный абзац.

Для всего остального заметки о качестве Tesseract соответствуют тому, что мы видели в образцах: более крупные и четкие символы читаются лучше, а темный текст на светлом фоне — это простой случай. Скриншотируйте источник, где можете. Где не можете, снимайте прямо с равномерным светом и заполняйте кадр текстом.

Что мне делать с изображением после этого?

Вывод — это простой текст. Скопируйте его с помощью кнопки, которая использует Clipboard API браузера. Скачайте .txt для каждого изображения или скачайте всю партию как один файл. Ваше изображение не затрагивается ничем из этого. Если его нужно уменьшить перед отправкой, компрессор делает это в той же вкладке, а изменитель размера изменяет размеры пикселей. Делайте одно из этих действий после извлечения. Уменьшение скриншота сначала выбрасывает пиксели, из которых состоят символы.

Две цепочки, которые стоит знать. Фото HEIC с iPhone заходит прямо, декодируется браузером перед тем, как движок его увидит, так что нет необходимости в шаге конвертации формата сначала. И если вам нужно только один блок текста из длинного скриншота, сначала проведите его через обрезчик, чтобы вывод был именно той частью, которую вы запросили, и ничем другим. Другой модель, которая работает локально на этом сайте, — это та, которая решает, какие пиксели являются объектом.

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

Что насчет PDF?

PDF делится на две части, прежде чем что-либо из этого применимо. Файл, экспортированный из текстового процессора или браузера, содержит текстовый слой, так что символы уже находятся внутри, и извлечение их не требует распознавания. Файл, который пришел со сканера или телефона, — это изображение, обернутое в PDF, и ему нужен такой же проход OCR, как и изображению. Наша страница PDF в текст проверяет каждую страницу и выбирает, а как она решает, какие страницы были прочитаны точно, а какие распознаны — это более длинное описание. На образцах файл, созданный в цифровом виде, и трехстраничный цифровой файл оба вернулись с 100.0% прямо из текстового слоя, а сканированная страница, созданная с помощью собственного конвертера JPG в PDF этого сайта, вернулась с 100.0% через OCR.

Три карточки результатов PDF, показывающие извлечение текстового слоя, извлечение OCR и сводку страницы
digital.pdf возвращается с пометкой "Текстовый слой: точно" с абзацем дословно. scanned.pdf прошел через OCR, и карточка сообщает уверенность 93% для этого прохода. multipage.pdf читает "3 страницы: 3 прочитаны точно из текстового слоя, 0 через OCR."

Существует предел в 25 страниц на файл. Образец с избыточным размером составляет 28 страниц, и запуск прочитал первые 25 и напечатал уведомление об этом. Разделите все более длинные в PDF-ридере и отправьте остальное как второй запуск. Еще одна вещь, которую стоит знать перед началом: PDF требует около 1.3 MB для ридера поверх движка OCR и модели, и это скачивание OCR все еще происходит, когда каждая страница оказывается цифровой и ничего не требует распознавания.

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