Компоненты: Комплексное решение Электронная библиотека ИРБИС64/128 Завершено: 07.04.2026 19:35
Новый модуль распознавания (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).
Выполнен мелкий рефакторинг кода (исправление форматирования и отступов).
-
Новый модуль распознавания (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).
Выполнен мелкий рефакторинг кода (исправление форматирования и отступов).
1. Связанные задачи
1.1. 🔗 Соответствует задача: I128-2315
[I128-2315] Поддержка фонового распознавания текста (OCR) с помощью Tesseract для PDF-документов без текстового слоя.
Статус: Завершено | Автор: Ilya Mikhaylenko