Распознавание PDF-файлов

Файлы PDF широко используются в Интернете для обмена информацией и данными. Они довольно популярны, поскольку сохраняют точность документов при просмотре на любой платформе. Однако у нас нет контроля над источником, и некоторые файлы передаются в отсканированном формате. Иногда вы захватываете изображение в формате PDF, а затем вам нужно извлечь содержимое из файла. Таким образом, жизнеспособным решением является выполнение операции OCR и извлечение текста. Однако после операции OCR, если вам нужно сохранить файл, преобразование в формат PDF является жизнеспособным решением. В этой статье мы собираемся обсудить шаги по преобразованию отсканированного PDF в текстовый PDF с помощью Python.

API оптического распознавания символов PDF

Aspose.PDF Cloud SDK для Python — это оболочка Aspose.PDF Cloud. Это позволяет вам выполнять все возможности обработки файлов PDF в приложении Python. Управляйте файлами PDF без Adobe Acrobat или любого другого приложения. Таким образом, чтобы использовать SDK, первым шагом является его установка, и он доступен для загрузки в репозиториях PIP и GitHub. Теперь выполните следующую команду в терминале/командной строке, чтобы установить последнюю версию SDK в системе.

 pip install asposepdfcloud

MS Visual Studio

Вы также можете напрямую добавить ссылку в свой проект Python в рамках проекта Visual Studio. Найдите asposepdfcloud как пакет в окне среды Python. Пожалуйста, следуйте шагам, пронумерованным на изображении ниже, чтобы завершить процесс установки.

Aspose.PDF Облачный Python

Изображение 1: пакет Aspose.PDF Cloud SDK для Python.

Панель инструментов Aspose.Cloud

Поскольку наши API доступны только авторизованным лицам, следующим шагом будет создание учетной записи на панели инструментов Aspose.Cloud. Если у вас есть учетная запись GitHub или Google, просто зарегистрируйтесь или нажмите кнопку Создать новую учетную запись и укажите необходимую информацию. Теперь войдите в панель управления, используя учетные данные, разверните раздел «Приложения» на панели инструментов и прокрутите вниз до раздела «Учетные данные клиента», чтобы просмотреть сведения об идентификаторе клиента и секрете клиента.

Учетные данные клиента

Изображение 2: учетные данные клиента на панели инструментов Aspose.Cloud.

Изображение PDF в PDF с возможностью поиска в Python

Пожалуйста, следуйте инструкциям ниже, чтобы выполнить операцию OCR в отсканированном PDF-документе, а затем сохранить его как доступный для поиска (сделать PDF доступным для поиска). Эти шаги помогут нам разработать бесплатное онлайн-распознавание текста с помощью Python.

  • Во-первых, нам нужно создать экземпляр класса ApiClient, предоставив Client ID Client Secret в качестве аргументов.
  • Во-вторых, создайте экземпляр класса PdfApi, который принимает объект ApiClient в качестве входного аргумента.
  • Теперь вызовите метод putsearchabledocument(..) класса PdfApi, который принимает входное имя PDF и необязательный параметр, указывающий язык механизма OCR.
def ocrPDF():
    try:
        #Client credentials
        client_secret = "406b404b2df649611e508bbcfcd2a77f"
        client_id = "88d1cda8-b12c-4a80-b1ad-c85ac483c5c5"

        #initialize PdfApi client instance using client credetials
        pdf_api_client = asposepdfcloud.api_client.ApiClient(client_secret, client_id)

        # создать экземпляр PdfApi при передаче PdfApiClient в качестве аргумента
        pdf_api = PdfApi(pdf_api_client)

        #input PDF file name
        input_file = 'image-based-pdf-sample.pdf'

        # вызвать API для выполнения операции OCR и сохранить результат в облачном хранилище
        response = pdf_api.put_searchable_document(name=input_file,lang='eng')

        # вывести сообщение в консоль (необязательно)
        print('Image PDF successfully converted to Text PDF !')    
    except ApiException as e:
        print("Exception while calling PdfApi: {0}".format(e))
        print("Code:" + str(e.code))
        print("Message:" + e.message)
Предварительный просмотр PDF-файлов с распознаванием текста

Изображение 3: Предварительный просмотр операции оптического распознавания символов PDF.

На изображении выше левая часть обозначает входной отсканированный PDF-файл, а правая часть показывает предварительный просмотр результирующего текстового PDF-файла. Образцы файлов, использованные в приведенном выше примере, можно загрузить из image-based-pdf-sample.pdf и OCR-Result.pdf.

OCR онлайн с помощью команд cURL

Доступ к REST API также можно получить с помощью команд cURL, а поскольку наши облачные API основаны на архитектуре REST, мы также можем использовать команду cURL для онлайн-распознавания PDF. Однако, прежде чем приступить к операции преобразования, нам необходимо сгенерировать веб-токен JSON (JWT) на основе ваших индивидуальных учетных данных клиента, указанных на панели управления Aspose.Cloud. Это обязательно, потому что наши API доступны только зарегистрированным пользователям. Пожалуйста, выполните следующую команду, чтобы сгенерировать токен JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=88d1cda8-b12c-4a80-b1ad-c85ac483c5c5&client_secret=406b404b2df649611e508bbcfcd2a77f" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

Получив токен JWT, выполните следующую команду, чтобы выполнить операцию OCR и сохранить результат в том же облачном хранилище.

curl -v -X PUT "https://api.aspose.cloud/v3.0/pdf/image-based-pdf-sample.pdf/ocr" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>"

Заключение

В этой статье мы обсудили шаги преобразования изображения PDF в PDF с возможностью поиска с помощью фрагмента кода Python. Мы также подробно изучили, как выполнять OCR Online с помощью команд cURL. Поскольку наши облачные SDK разрабатываются по лицензии MIT, вы можете загрузить полный фрагмент кода с GitHub и обновить его в соответствии со своими требованиями. Мы настоятельно рекомендуем вам ознакомиться с Руководством разработчика, чтобы узнать больше о других интересных функциях, которые в настоящее время предлагает Cloud API.

Если у вас возникнут какие-либо вопросы или проблемы при использовании наших API, свяжитесь с нами через бесплатный форум поддержки клиентов.

Статьи по Теме

Мы также предлагаем ознакомиться со следующими статьями, чтобы узнать больше о