OCRmyPDF: руководство по локальному развёртыванию и использованию 253

小编 ·

OCRmyPDF: руководство по локальному развёртыванию и использованию

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

OCRmyPDF: руководство по локальному развёртыванию и использованию

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

Руководство по локальному развёртыванию и использованию OCRmyPDF.webp

Способы локального развёртывания 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