Распознавание pdf. OCRmyPDF
2024-06-07
·
2 мин. для прочтения
Распознавание pdf. OCRmyPDF
Содержание
1 Общая информация
- Репозиторий: https://github.com/ocrmypdf/OCRmyPDF
- Сайт: https://ocrmypdf.readthedocs.io/
2 Примеры использования
2.1 Распознавание
- Список языков для распознавания:
tesseract --list-langs - Преобразовать сканированный файл в файл PDF/A с распознаванием русского и английского языков:
ocrmypdf -l rus+eng input.pdf output.pdf - Заменить отсканированный PDF-файл PDF/A-файлом:
ocrmypdf input.pdf - Пропустить страницы входного PDF-файла смешанного формата, которые уже содержат текст:
ocrmypdf --skip-text input.pdf output.pdf - Очистите, исправьте перекос и поверните плохо отсканированные страницы:
ocrmypdf --clean --deskew --rotate-pages input.pdf output.pdf - Убрать фон:
ocrmypdf --clean --remove-background input.pdf output.pdf - Разделить сдвоенные страницы:
ocrmypdf -l rus+eng --clean --clean-final --unpaper-args '--layout double' input.pdf output.pdf - Контролируем оптимизацию:
ocrmypdf --optimize 3 --jbig2-lossy input.pdf output.pdf - Распознавание с оптимизацией:
ocrmypdf -l rus+eng --optimize 3 --jbig2-lossy input.pdf output.pdf - Задать метаданные PDF-файла:
ocrmypdf --skip-text --title "<title>" --author "<author>" --subject "<subject>" --keywords "<keyword; key phrase; ...>" input_file.pdf output.pdf
2.2 Не распознавать pdf-файл
- При установке параметра
--tesseract-timeout 0OCRmyPDF будет обрабатывать изображения без выполнения OCR.ocrmypdf --tesseract-timeout=0 --remove-background input.pdf output.pdf - Удалить весь распознанный текст из pdf-файла:
ocrmypdf --tesseract-timeout 0 --optimize 3 --force-ocr input.pdf output.pdf - Оптимизация изображений без выполнения распознавания:
ocrmypdf --tesseract-timeout=0 --optimize 3 --skip-text input.pdf output.pdf
2.3 OCR для больших изображений
- Иногда не распознаются некоторые страницы.
- Tesseract имеет внутренние ограничения по размеру изображений, которые он обработает.
- По умолчанию включён
--tesseract-downsample-large-images, OCRmyPDF будет понижает разрешение изображений. - Эту функцию можно отключить с использованием
--no-tesseract-downsample-large-images. - Необходимо установить
--tesseract-timeoutдостаточно большим:
ocrmypdf --tesseract-timeout 600 --tesseract-downsample-large-images bigfile.pdf output.pdf
- Можно установить границу уменьшения в 5000 пикселей:
ocrmypdf --tesseract-timeout 120 --tesseract-downsample-large-images --tesseract-downsample-above 5000 bigfile.pdf output_downsampled_ocr.pdf
2.4 Используемые мной команды
- Удалить весь распознанный текст из pdf-файла (если текст кракозябрами):
ocrmypdf --tesseract-timeout 0 --optimize 3 --force-ocr input.pdf output.pdf - Распознать файл:
ocrmypdf -l rus+eng --optimize 3 --tesseract-timeout 600 --tesseract-downsample-large-images input.pdf output.pdf