Компоненты: Комплексное решение Электронная библиотека ИРБИС64/128 Завершено: 06.05.2026 12:24
Новый модуль распознавания (modules/FT/Actions/OCRTesseract.inc):
Создан новый Action-класс WIAFTOCRTesseract для выполнения OCR в фоновом режиме (через очередь задач).
Добавлен автоматический выбор языка распознавания на основе 101 поля библиографической записи (с маппингом кодов языков в формат Tesseract).
Реализован запуск Tesseract для постраничного распознавания изображений (png) с генерацией текста (.txt), файлов координат (.hocr) и PDF-страниц с текстовым слоем.
Реализован парсинг HOCR-файлов Tesseract в формат qtext утилиты mutool для обеспечения корректной работы поиска и выделения слов во вьювере.
** Добавлена склейка постраничных PDF-файлов с распознанным текстом в итоговый файл converted.pdf с помощью mutool.
Изменения в логике подготовки документа (modules/FT/__call/PrepareViewerPaged.inc):
Добавлена проверка на наличие текстового слоя (проверяется размер сгенерированного idx.txt).
Если текстовый слой отсутствует, генерируется задача в очередь на запуск FT/OCRTesseract для фонового распознавания.
** Если текстовый слой присутствует (документ изначально содержал текст), он как и раньше сразу отправляется на индексацию (FT/UpdateIrbisFTIndex).
Выполнен мелкий рефакторинг кода (исправление форматирования и отступов).
-
Документация:
Добавлен полный комплект справочной документации в формате Markdown для Руководства администратора (AdminGuide) и Руководства пользователя (UserGuide). Описаны настройки интеграции, процессы OCR, очереди задач, вьюверы и управление контентом.
Добавлен корневой класс справки i128Help*FT*Root (Root.help).
Добавлены соответствующие скриншоты интерфейсов в папку images.
Исправления ошибок:
Исправлена синтаксическая ошибка в формировании HTTPзаголовка `ContentDisposition(не на месте закрывающая скобка) в файлахGetCover.page,GetImage.pageиGeneral/api.php`.
Исправлена опечатка в вызове метода форматирования записи: Forma128 заменено на Format128 в AppendBookMark.inc.
В DeleteOldVideoViewer.inc исправлена опечатка в описании расширения старых видеофайлов (заменено webp на webm).
В GetCover.page убрана лишняя проверка пустой переменной $sid перед её инициализацией.
1. Связанные задачи
1.1. 🔗 Соответствует задача: I128-2300
[I128-2300] Поддержка фонового распознавания текста (OCR) с помощью Tesseract для PDF-документов без текстового слоя.
Статус: Завершено | Автор: Ilya Mikhaylenko