OCRmyPDF: руководство по локальному развёртыванию и использованию
OCRmyPDF — это инструмент, предназначенный в первую очередь для добавления слоя распознанного текста в отсканированные PDF-файлы, обеспечивающий возможность поиска и копирования. Он поддерживает множество языков, позволяет оптимизировать изображения, корректировать перекосы, очищать страницы и автоматически поворачивать их в нужную сторону. Ниже приведены способы локального развёртывания OCRmyPDF:

Способы локального развёртывания OCRmyPDF
OCRmyPDF предлагает несколько способов установки в зависимости от вашей операционной системы и потребностей.
1. Установка через системный пакетный менеджер
Debian/Ubuntu:
apt install ocrmypdf
Fedora:
dnf install ocrmypdf tesseract-osd
macOS (Homebrew):
brew install ocrmypdf
Windows Subsystem for Linux:
apt install ocrmypdf
2. Установка с помощью Python pip
Если вам нужна самая последняя версия или версия из системного пакетного менеджера устарела, можно воспользоваться pip:
pip install ocrmypdf
Либо используйте pipx для создания изолированного окружения Python:
pipx install ocrmypdf
3. Установка с помощью Docker
Если вы используете Docker, вы можете загрузить образ OCRmyPDF следующей командой:
docker pull jbarlow83/ocrmypdf
При запуске входной и выходной файлы можно смонтировать в контейнер:
docker run -v /path/to/input.pdf:/input.pdf -v /path/to/output.pdf:/output.pdf jbarlow83/ocrmypdf /input.pdf /output.pdf
4. Установка из исходного кода
Если вам нужно установить из исходного кода (например, для разработки или тестирования новейших функций), можно клонировать репозиторий на GitHub и выполнить установку:
git clone https://github.com/ocrmypdf/OCRmyPDF.git cd OCRmyPDF pip install -e .
Зависимости
Python 3.10 или выше
Ghostscript 9.54 или выше
Tesseract 4.1.1 или выше
jbig2enc 0.29 или выше (необязательно, используется для оптимизации размера выходного файла)
pngquant 2.5 или выше (необязательно, используется для оптимизации изображений PNG)
unpaper 6.1 или выше (необязательно, используется для очистки изображений)
Важные примечания
Поддержка 32-битных систем: OCRmyPDF не поддерживает 32-битные системы, рекомендуется использовать 64-битную версию.
Пользователям Windows: рекомендуется использовать Windows Subsystem for Linux или Docker, чтобы избежать проблем совместимости.
Пользователям macOS: можно установить через Homebrew, но потребуется дополнительно установить языковые пакеты Tesseract (например, tesseract-lang).
Проверка установки
После завершения установки вы можете проверить, что OCRmyPDF установлен успешно, с помощью следующей команды:
ocrmypdf --version
Руководство по использованию OCRmyPDF
1. Добавление слоя OCR-текста
Основная функция: добавление в отсканированный PDF-файл слоя распознанного текста, благодаря которому содержимое документа можно копировать и искать.
Пример команды:
ocrmypdf input.pdf output.pdf
2. Поддержка нескольких языков
Описание функции: поддерживается более 100 языков; пользователь может выбрать подходящий языковой пакет в зависимости от языка документа, чтобы повысить точность распознавания.
Пример команды:
ocrmypdf --language chi_sim input.pdf output.pdf # упрощённый китайский ocrmypdf --language eng input.pdf output.pdf # английский
3. Оптимизация изображений
Описание функции: оптимизация изображений в PDF, включая настройку разрешения и сжатие, что позволяет получить файлы меньшего размера при сохранении качества изображений.
Пример команды:
ocrmypdf --optimize 3 input.pdf output.pdf # максимальная оптимизация
4. Коррекция перекоса и очистка
Описание функции: перед выполнением OCR изображение корректируется (исправляется наклон) и очищается (удаляются пятна, шум и т. п.), что повышает точность распознавания.
Пример команды:
ocrmypdf --deskew --clean input.pdf output.pdf
5. Автоматический поворот страниц
Описание функции: автоматическое определение ориентации страницы и её поворот для обеспечения единообразного направления всех страниц, что удобно для чтения и обработки.
Пример команды:
ocrmypdf --rotate-pages input.pdf output.pdf
6. Преобразование в формат PDF/A
Описание функции: преобразование выходного файла в формат PDF/A — международный стандартный формат архивирования, подходящий для долгосрочного хранения.
Пример команды:
ocrmypdf --output-type pdfa input.pdf output.pdf
7. Удаление дублирующихся страниц
Описание функции: автоматическое обнаружение и удаление дублирующихся страниц в PDF, что уменьшает размер файла.
Пример команды:
ocrmypdf --remove-background input.pdf output.pdf
8. Удаление фона
Описание функции: удаление фона со страниц PDF, благодаря чему текст становится более чётким и удобным для чтения.
Пример команды:
ocrmypdf --remove-background input.pdf output.pdf
9. Создание файла в формате PDF/A
Описание функции: создание файла, соответствующего стандарту PDF/A, подходящего для долгосрочного архивирования и хранения.
Пример команды:
ocrmypdf --output-type pdfa input.pdf output.pdf
10. Пропуск страниц, уже содержащих OCR
Описание функции: если в PDF некоторые страницы уже содержат текстовый слой, их можно пропустить, чтобы избежать повторной обработки.
Пример команды:
ocrmypdf --skip-text input.pdf output.pdf
11. Пользовательский DPI
Описание функции: можно задать разрешение изображения (DPI) при обработке OCR; значение по умолчанию — 300 DPI.
Пример команды:
ocrmypdf --dpi 350 input.pdf output.pdf
12. Преобразование в монохромное изображение
Описание функции: преобразование цветных или полутоновых изображений в монохромные, что уменьшает размер файла.
Пример команды:
ocrmypdf --output-type pdf --monochrome input.pdf output.pdf
13. Создание файла журнала
Описание функции: создание подробного файла журнала для удобства отладки и фиксации процесса обработки.
Пример команды:
ocrmypdf --log-file output.log input.pdf output.pdf
14. Пакетная обработка
Описание функции: в сочетании со сценариями или инструментами командной строки (например, GNU Parallel) можно выполнять пакетную обработку нескольких PDF-файлов.
Пример команды:
for file in *.pdf; do ocrmypdf "$file" "output_$file" done
15. Поддержка нескольких входных форматов
файлов в PDF, включая TIFF, PNG и другие.
Пример команды:
ocrmypdf input.tiff output.pdf
16. Сжатие PDF
Описание функции: после обработки OCR можно дополнительно сжать PDF-файл, уменьшив его размер.
Пример команды:
ocrmypdf --optimize 3 input.pdf output.pdf
17. Преобразование в PDF/A-2b или PDF/A-2u
Описание функции: создание файлов, соответствующих стандартам PDF/A-2b или PDF/A-2u, для различных задач.
Пример команды:
ocrmypdf --output-type pdfa-2b input.pdf output.pdf ocrmypdf --output-type pdfa-2u input.pdf output.pdf
18. Поддержка Unicode
Описание функции: поддержка символов Unicode обеспечивает корректную обработку многоязычных документов.
Пример команды:
ocrmypdf --language chi_sim --language eng input.pdf output.pdf
19. Пользовательское имя выходного файла
Описание функции: можно задать собственное имя выходного файла для удобства управления и идентификации.
Пример команды:
ocrmypdf input.pdf "output_with_date_$(date +%Y%m%d).pdf"
20. Поддержка параметров командной строки
Описание функции: параметры командной строки позволяют гибко настраивать различные функции OCRmyPDF.
Пример команды:
ocrmypdf --help
Руководство по локальному развёртыванию и использованию OCRmyPDF:https://ocrmypdf.readthedocs.io/en/latest/installation.html
Помощник сценариста▸
AI Приложения
AI Новости 