Python で REST API を使用して PDF ファイルを結合する

クラウド上でプログラムを使用して、2 つ以上の PDF ドキュメントを 1 つの PDF ファイルに簡単に結合できます。すべてのファイルを 1 つずつ処理するのではなく、複数のドキュメントを 1 つのファイルに結合して共有したり印刷したりする場合に便利です。 Python 開発者は、Python アプリケーションで 2 つ以上の PDF ファイルを 1 つのファイルに結合できます。この記事では、Python の REST API を使用して PDF ファイルを結合する方法を学習します。

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

PDF マージャー REST API および Python SDK

2 つ以上の PDF ファイルを結合するには、GroupDocs.Merger Cloud の Python SDK API を使用します。 2 つ以上のドキュメントを 1 つのドキュメントに結合したり、1 つのソース ドキュメントを複数の結果ドキュメントに分割したりできます。また、ページ全体または優先範囲に対して、ページの向きを移動、削除、交換、回転、または縦または横に変更することもできます。 SDK は、Word、Excel、PowerPoint, Visio、OneNote、PDF、HTML などのすべての一般的なドキュメント形式の結合と分割をサポートしています。

コンソールで次のコマンドを使用して、GroupDocs.Merger Cloud を Python アプリケーションにインストールできます。

pip install groupdocs_merger_cloud

上記の手順に従う前に、ダッシュボード からクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。

client_id = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

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

Python で REST API を使用して PDF ファイルを結合する

以下に説明する簡単な手順に従って、クラウド上で 2 つ以上の PDF ファイルをプログラム的に結合できます。

  1. PDFファイルをクラウドにアップロード
  2. Pythonを使用して複数のPDFファイルを結合
  3. ダウンロード 結合されたファイル

PDF ファイルをアップロードする

まず、以下のコード例を使用して、PDF ファイルをクラウドにアップロードします。

# APIのインスタンスを作成する
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)
storage_api = groupdocs_merger_cloud.StorageApi.from_config(configuration)

# サンプルファイルをアップロードする
for filename in glob.iglob("C:\\Files\\upload\\*.pdf", recursive=True):
    destFile = filename.replace("C:\\Files\\upload", "", 1)           
    # ファイルがすでに存在するかどうかを確認する
    fileExistsResponse = storage_api.object_exists(groupdocs_merger_cloud.ObjectExistsRequest(destFile))
    if not fileExistsResponse.exists:
        # アップロードファイルリクエストの作成
        request = groupdocs_merger_cloud.UploadFileRequest(destFile, filename)
        # ファイルをアップロードする
        file_api.upload_file(request)

その結果、アップロードされた PDF ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。

Python を使用して複数の PDF ファイルを結合する

以下の手順に従って、複数の PDF ファイルをプログラムで簡単に 1 つのファイルに結合できます。

  • DocumentApi のインスタンスを作成します。
  • JoinItem のインスタンスを作成する
  • FileInfo の最初の JoinItem の入力ファイル パスを指定します。
  • JoinItem の別のインスタンスを作成する
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
  • 3 つ以上のファイルを結合するための JoinItem を追加します。
  • JoinOptions のインスタンスを作成する
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • JoinOptions を使用して JoinRequest のインスタンスを作成する
  • JoinRequest を使用して DocumentAPI の join() メソッドを呼び出して結果を取得します

次のコード スニペットは、Python の REST API を使用して複数の PDF ファイルを結合する方法を示しています。

# APIの初期化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# ソースファイル1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_1.pdf")

# ソースファイル2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages_2.pdf")

# 結合オプションを定義する
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined.pdf"

# 参加リクエストを作成する
request = groupdocs_merger_cloud.JoinRequest(options)

# ファイルをマージする
result = documentApi.join(request)

結合されたファイルをダウンロードする

上記のコードサンプルは、結合された PDF ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。

# APIの初期化
file_api = groupdocs_merger_cloud.FileApi.from_config(configuration)

# ダウンロードファイルリクエストの作成
request = groupdocs_merger_cloud.DownloadFileRequest("Output/joined.pdf", my_storage)
# ダウンロードファイル
response = file_api.download_file(request)

# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\")

Python を使用して複数の PDF ファイルの特定のページを結合する

以下の手順に従って、複数の PDF ファイルの特定のページをプログラムで簡単に 1 つのファイルに結合できます。

  • DocumentApi のインスタンスを作成します。
  • JoinItem のインスタンスを作成する
  • FileInfo の最初の JoinItem の入力ファイル パスを指定します。
  • 結合するページ番号のリストを定義する
  • JoinItem の別のインスタンスを作成する
  • FileInfo の 2 番目の JoinItem の入力ファイル パスを指定します。
  • 開始ページ番号と終了ページ番号を定義する
  • ページ範囲モードを定義する
  • JoinOptions のインスタンスを作成する
  • 作成された結合項目のカンマ区切りリストを追加します
  • 出力ファイルのパスを設定する
  • JoinOptions を使用して JoinRequest のインスタンスを作成する
  • JoinRequest を使用して DocumentAPI の join() メソッドを呼び出して結果を取得します

次のコード スニペットは、Python の REST API を使用して複数の PDF ファイルから特定のページを結合する方法を示しています。

# APIの初期化
documentApi = groupdocs_merger_cloud.DocumentApi.from_config(configuration)

# ソースファイル1
item1 = groupdocs_merger_cloud.JoinItem()
item1.file_info = groupdocs_merger_cloud.FileInfo("Output/joined.pdf")
# 結合する特定のページのページ番号
item1.pages = [1,2]

# ソースファイル2
item2 = groupdocs_merger_cloud.JoinItem()
item2.file_info = groupdocs_merger_cloud.FileInfo("ten-pages.pdf")
# 開始ページ番号
item2.start_page_number = 2
# 終了ページ番号
item2.end_page_number = 4
# ページ範囲モード
item2.range_mode = "OddPages"

# 結合オプションを定義する
options = groupdocs_merger_cloud.JoinOptions()
options.join_items = [item1, item2]
options.output_path = "Output/joined-pages.pdf"

# 参加リクエストを作成する
request = groupdocs_merger_cloud.JoinRequest(options)

# ページを結合する
result = documentApi.join(request)

オンラインで試す

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

結論

この記事では、クラウド上で複数の PDF ファイルを結合する方法を学習しました。また、Python を使用して複数の PDF ドキュメントの特定のページを 1 つのファイルに結合する方法も学習しました。さらに、プログラムで PDF ファイルをクラウドにアップロードし、結合されたファイルをクラウドからダウンロードする方法を学びました。 PDF マージャー REST API は、クラウド API の ドキュメント マージャー ファミリー メンバー として、.NET、Java、PHP、Ruby、Android、および Node.js SDK も提供します。 GroupDocs.Merge Cloud API の詳細については、ドキュメント を使用して学習できます。また、ブラウザーを通じて API を直接視覚化して操作できる API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目