PDF ドキュメントから画像を抽出する

再利用するには、PDF または Word ドキュメントから画像を抽出する必要がある場合があります。クラウド上でプログラムを使用して PDF ドキュメントから画像を簡単に抽出できます。この記事では、Python の REST API を使用して PDF ドキュメントから画像を抽出する方法を説明します。

この記事では次のトピックについて説明します。

ドキュメント パーサー REST API および Python SDK

PDF ドキュメントから画像を抽出するには、GroupDocs.Parser Cloud の Python SDK API を使用します。これにより、すべての一般的なドキュメント タイプのデータを解析できます。 SDK を使用すると、テンプレートによるテキスト、画像の抽出、データの解析が可能です。また、クラウド API の ドキュメント パーサー ファミリ メンバー として、.NET、Java、PHP、Ruby、および Node.js SDK も提供します。

コンソールで次のコマンドを使用して、pip (Python 用パッケージ インストーラー) を使用して GroupDocs.Parser Cloud を Python プロジェクトにインストールできます。

pip install groupdocs_parser_cloud

手順と利用可能なコード例を開始する前に、ダッシュボード からクライアント ID とクライアント シークレットを取得してください。クライアント ID とシークレットを取得したら、以下に示すコードを追加します。

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 = ""

Python の REST API を使用して PDF から画像を抽出する

以下の簡単な手順に従って、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) は、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

Python を使用して PDF ドキュメントからすべての画像を抽出する

以下に説明する手順に従って、PDF ファイルからすべての画像をプログラムで簡単に抽出できます。

  • ParseApiのインスタンスを作成する
  • 画像オプションの定義
  • PDFファイルへのパスを設定します
  • 画像の作成リクエスト
  • ParseApi.images() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して PDF ドキュメントからすべての画像を抽出する方法を示しています。

# 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")

Python を使用して PDF ドキュメントからページ番号ごとに画像を保存する

以下に説明する手順に従って、プログラムを使用して PDF ファイルの特定のページから画像を簡単に抽出できます。

  • ParseApiのインスタンスを作成する
  • 画像オプションの定義
  • PDF ファイルへのパスを指定します
  • 開始ページ番号を設定する
  • 抽出するページ数を設定する
  • 画像の作成リクエスト
  • ParseApi.images() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して PDF ドキュメントからページ番号範囲ごとに画像を抽出する方法を示しています。前述の手順に従って、抽出した画像をダウンロードしてください。

# 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 文書からページ番号範囲ごとに画像を抽出します。

Python を使用して PDF に添付されたドキュメントから画像を取得する

以下に説明する手順に従って、コンテナ内のドキュメントから画像を抽出し、PDF ファイルの添付ファイルとしてプログラム的に利用できます。

  • ParseApiのインスタンスを作成する
  • 画像オプションの定義
  • PDFファイルへのパスを設定します
  • ContainerItemInfo の定義
  • 内部ドキュメントの相対パスを指定します
  • 開始ページ番号を設定する
  • 抽出するページ数を設定する
  • 画像の作成リクエスト
  • ParseApi.images() メソッドを呼び出して結果を取得します

次のコード サンプルは、REST API を使用して PDF ドキュメント内のドキュメントから画像を抽出する方法を示しています。前述の手順に従って、抽出した画像をダウンロードしてください。

# 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文書に添付された文書から画像を抽出します。

オンラインで試す

上記の API を使用して開発された、次の無料のオンライン PDF 解析ツールをお試しください。 https://products.groupdocs.app/parser/pdf

結論

この記事では、クラウド上の PDF ドキュメントから画像を抽出する方法を学習しました。この記事では、プログラムで PDF ファイルをクラウドにアップロードする方法についても説明しました。 SDK を使用して抽出されたイメージをダウンロードする方法も学習しました。 GroupDocs.Parser Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目