Извлечение изображений из PDF-документов

Возможно, вам потребуется извлечь изображения из документов PDF или Word, чтобы использовать их повторно. Вы можете легко программно извлекать изображения из PDF-документов в облаке. В этой статье объясняется, как извлекать изображения из документов PDF с помощью REST API в Python.

В этой статье должны быть раскрыты следующие темы:

Анализатор документов REST API и Python SDK

Для извлечения изображений из документа PDF я буду использовать API Python SDK of GroupDocs.Parser Cloud. Он позволяет анализировать данные из всех популярных типов документов. Вы можете извлекать текст, изображения и анализировать данные по шаблону с помощью SDK. Он также предоставляет SDK для .NET, Java, PHP, Ruby и Node.js в качестве членов семейства парсеров документов для Cloud API.

Вы можете установить GroupDocs.Parser Cloud в свой проект Python с помощью pip (установщик пакета для python), используя следующую команду в консоли:

pip install groupdocs_parser_cloud

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

client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"

configuration = groupdocs_parser_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Извлечение изображений из PDF с помощью REST API в Python

Вы можете извлекать изображения из PDF-документов, выполнив простые шаги, указанные ниже:

Загрузить документ

Прежде всего, загрузите документ PDF в облако, используя приведенный ниже пример кода:

# инициализация API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
my_storage = ""

request = groupdocs_parser_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

В результате загруженный PDF-файл (sample.pdf) будет доступен в разделе файлов вашей панели инструментов в облаке.

Извлечь все изображения из PDF-документа с помощью Python

Вы можете легко извлечь все изображения из файла PDF программно, выполнив шаги, указанные ниже.

  • Создайте экземпляр ParseApi
  • Определить параметры изображения
  • Установить путь к файлу PDF
  • Создать запрос изображений
  • Получите результаты, вызвав метод ParseApi.images().

В следующем примере кода показано, как извлечь все изображения из документа PDF с помощью REST API.

# инициализация API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# определить параметры изображения
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "sample.pdf"

# создать запрос
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for image in result.images:
    print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
    print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
Извлеките все изображения из документа PDF.

Извлеките все изображения из документа PDF.

Скачать извлеченные изображения

Приведенный выше пример кода сохранит извлеченные изображения в облаке. Вы можете загрузить эти изображения, используя пример кода, приведенный ниже:

# инициализация API
file_api = groupdocs_parser_cloud.FileApi.from_config(configuration)
my_storage = ""
  
# Скачать изображение 
request = groupdocs_parser_cloud.DownloadFileRequest(image.path, my_storage)
response = file_api.download_file(request)

# Переместите загруженный файл в свой рабочий каталог
shutil.move(response, "C:\\Files\\Images")

Сохранение изображений по номерам страниц из документов PDF с помощью Python

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

  • Создайте экземпляр ParseApi
  • Определить параметры изображения
  • Укажите путь к файлу PDF
  • Установить номер начальной страницы
  • Установите количество страниц для извлечения
  • Создать запрос изображений
  • Получите результаты, вызвав метод ParseApi.images().

В следующем примере кода показано, как извлечь изображения по диапазону номеров страниц из документа PDF с помощью REST API. Пожалуйста, следуйте инструкциям, упомянутым ранее, чтобы загрузить извлеченные изображения.

# инициализация API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)
# определить параметры изображения
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "sample.pdf"
# определить диапазон страниц
options.start_page_number = 1
options.count_pages_to_extract = 1

# создать запрос
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for page in result.pages:
    print("Images from " + str(page.page_index) + " page.")
   for image in page.images:
        print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
        print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
Извлечение изображений по диапазону номеров страниц из документа PDF.

Извлечение изображений по диапазону номеров страниц из документа PDF.

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

Вы можете программно извлечь изображения из документа внутри контейнера, доступного в виде вложения в файле PDF, выполнив шаги, указанные ниже.

  • Создайте экземпляр ParseApi
  • Определить параметры изображения
  • Установить путь к файлу PDF
  • Определить ContainerItemInfo
  • Укажите относительный путь к внутреннему документу
  • Установить номер начальной страницы
  • Установите количество страниц для извлечения
  • Создать запрос изображений
  • Получите результаты, вызвав метод ParseApi.images().

В следующем примере кода показано, как извлечь изображения из документа внутри документа PDF с помощью REST API. Пожалуйста, следуйте инструкциям, упомянутым ранее, чтобы загрузить извлеченные изображения.

# инициализация API
parseApi = groupdocs_parser_cloud.ParseApi.from_config(configuration)

# определить параметры изображения
options = groupdocs_parser_cloud.ImagesOptions()
options.file_info = groupdocs_parser_cloud.FileInfo()
options.file_info.file_path = "PDF_with_attachements.pdf"
options.file_info.password = "password"
# установить элемент контейнера
container_info = groupdocs_parser_cloud.ContainerItemInfo()
container_info.relative_path = "template-document.pdf"
options.container_item_info = container_info
# определить диапазон страниц
options.start_page_number = 2
options.count_pages_to_extract = 1

# создать запрос
request = groupdocs_parser_cloud.ImagesRequest(options)
result = parseApi.images(request)

for page in result.pages:
    print("Images from " + str(page.page_index) + " page.")
   for image in page.images:
        print("Image path in storage: " + image.path + ". Download url: " + image.download_url)
        print("Image format: " + image.file_format + ". Page index: " + str(image.page_index))
Извлечение изображений из документа, вложенного в документ PDF

Извлечение изображений из документа, вложенного в документ PDF.

Попробуйте онлайн

Попробуйте следующий бесплатный онлайн-инструмент для анализа PDF-файлов, разработанный с использованием вышеуказанного API. https://products.groupdocs.app/parser/pdf

Заключение

В этой статье вы узнали, как извлекать изображения из документов PDF в облаке. В этой статье также объясняется, как программно загрузить файл PDF в облако. Вы также узнали, как загружать извлеченные изображения с помощью SDK. Вы можете узнать больше о GroupDocs.Parser Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет вам визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также