Tesseract.js: Как распознавать текст с удалённых изображений по URL в Node.js

Автор: | 03.08.2026

Tesseract.js — это JavaScript-библиотека для оптического распознавания символов (OCR), основанная на самом популярном в мире движке распознавания текста. Она невероятно проста в использовании как на стороне клиента, так и на сервере с Node.js.

На серверной стороне Tesseract.js работает только с локальными изображениями. Однако с помощью пакета request для Node мы можем загрузить удалённое изображение по URL, а затем распознать его с помощью Tesseract.js.

Рассмотрим этот процесс в три этапа:

— Напишем код для загрузки удалённого файла в Node

— Напишем код для распознавания текста в локальном файле с помощью Tesseract

— Объединим два этих фрагмента

В итоге у нас получится всего пятнадцать строк JavaScript-кода для распознавания текста в изображениях по URL. Звучит неплохо? Тогда приступим.

Пакет request «создан для максимально простого выполнения HTTP-запросов» в Node.js. Мы будем использовать его для открытия URL и передачи потока данных в файловую систему с помощью стандартной библиотеки Node.js. По завершении вызовем callback-функцию.

Вставьте этот код в новый файл download.js:

Мы используем пример изображения из документации Tesseract, которое выглядит так:

Установите request и запустите скрипт:

Проверьте директорию — вы должны увидеть новый файл. Теперь распознаем текст в этом загруженном файле.

Начать работу с Tesseract.js очень просто. Вставьте этот код в файл ocr.js.

Установите Tesseract.js и запустите скрипт:

Когда Tesseract запустится (~10 секунд на моём MacBook Pro), вы увидите обновления прогресса, а затем распознанный текст в `result.text`.

В объекте `result` скрыто *много* дополнительных данных, если вам интересно покопаться.

Теперь у нас есть код для загрузки удалённого файла и код для распознавания текста в локальном файле — осталось только объединить их.

Вставьте этот код в новый файл download-and-ocr.js:

Здесь мы сделали следующее:

— Начали с кода из download.js

— Подключили Tesseract.js

— Вставили код из ocr.js в callback-функцию, которая выполняется после завершения загрузки файла.

Запустите скрипт, заменив URL на свой, если хотите:

Вот и всё! Всего три простых шага — и мы используем Tesseract.js для распознавания текста в изображении по URL. Лично я планирую использовать Tesseract.js вместе с Twilio MMS для обработки фотографий, которые делаю во время прогулок по Нью-Йорку. Возможно, я буду извлекать номера телефонов из рекламы и проверять их через наш Lookup API, чтобы узнать, являются ли они номерами Twilio.

А что создадите вы?

Если хотите узнать больше, ознакомьтесь с:

— Документацией по потоковой загрузке файлов с помощью Request в Node.js

— Полной документацией по API Tesseract.js

— Быстрыми стартами для JavaScript от Twilio

Если вам понравилась эта статья, поблагодарите Гильермо Вебстера и Кевина Квока за их героические усилия по портированию Tesseract на JavaScript. И, конечно, не стесняйтесь писать мне, если у вас есть вопросы или вы создали что-то, чем хотите поделиться.

Удачного кодинга!