ОС / веб-сервер: Ubuntu 16 (работает в Vagrant / VirtualBox) / Nginx, UWSGI
Python: 3.6.8
Wagtail: 2.4
Django: последние2.1
Я настроил wagtail_textract и использовал TranscriptionMixin
в моей пользовательской модели.Я столкнулся с двумя проблемами: во-первых, когда я загружаю документ, транскрипция не выполняется, даже если документ загружается нормально.Это происходит в PDF с текстом в нем.Я записал выполнение в handlers.py
до text = textract.process(document.file.path).strip()
в def transcribe_document(document)
.Никакие операторы не выполняются после этой строки.Если я пытаюсь удалить загруженный документ от администратора Wagtail, он выдает ошибку о том, что документ занят, поэтому textract.process(document.file.path)
, похоже, сохраняет блокировку файла.
Я могу выполнить транскрипцию с помощьюоднако при выполнении команды управления (transcribe_documents
) в документе, который возвращается к tesseract, он не захватывает никакого текста (хотя команда transcribe_documents
завершается без ошибок).Так что он запускает tesseract, но текст не распознается.Я использовал ваш образец документа для попытки распознавания текста.Я поместил каталог tessdata
в папку моего проекта в соответствии с инструкциями и загрузил правильный файл на английском языке (для Tesseract 3 - ссылка на вашем сайте предназначена для языковых файлов Tesseract 4).
?: Есть идеи, что может привести к тому, что документ не будет расшифрован при сохранении, и какие идеи могут привести к тому, что tesseract не даст никаких результатов при попытке распознавания?
Обновление: Я пробовал это на другом сервере (Ubuntu 18, нет Vbox / Vagrant, все остальное тоже самое).На этом сервере PDF-файлы, содержащие текст, ДОЛЖНЫ БЫТЬ корректно извлечены при загрузке, но документы, которые требуют распознавания текста, по-прежнему не транскрибируются при загрузке.Тем не менее, когда я запускаю команду управления transcribe_documents
на этом сервере, он теперь правильно обрабатывает документы OCR при необходимости.