この記事では、複数の PowerPoint を 1 つのプレゼンテーション ファイルに結合する方法について詳しく説明します。パワーポイントは、企業文化の情報表現や説明に使用されるほか、ビジネスマンや学生がスライド ショーの作成に使用します。人気のもう 1 つの側面は、チュートリアル、デジタル ポートフォリオ、基本的なアニメーション、または写真スライド ショーの作成です。ただし、チームが分散環境で作業している場合、PowerPoint プレゼンテーションを結合する必要がある場合があります。そこでこの記事では、Java Cloud SDK を使用して複数の PowerPoint を 1 つのプレゼンテーションに結合する方法について詳しく説明します。
PowerPoint APIの結合
PPT または PPTX をプログラムで作成、編集し、PDF、JPEG、PNG または GIF にエクスポートするにはetc フォーマットに対応するために、Aspose.Slides Cloud という名前のローコード API を開発しました。 REST ベースのアーキテクチャにより、あらゆるプラットフォームで API ルーチンを呼び出すことができます。 PowerPoint プレゼンテーションを結合する機能を Java アプリケーションに実装するために、特別に [Aspose.Slides Cloud SDK for Java] を作成しました 17。したがって、SDK を使用するには、Maven ビルド プロジェクトの pom.xml にその参照を追加するだけです。
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>https://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-slides-cloud</artifactId>
<version>22.9.0</version>
</dependency>
</dependencies>
SDK リファレンスが追加されたら、次の重要なステップは Aspose Cloud で認証することです。既存のアカウントをお持ちでない場合は、有効なメール アドレスを使用して無料アカウントを作成してください。次に、新しく作成したアカウントを使用してログインし、クラウド ダッシュボードでクライアント ID とクライアント シークレットを検索/作成します。これらの詳細は、次のセクションで説明する認証の目的で必要になります。
Java で PowerPoint を結合する
このセクションでは、Java Cloud SDK を使用して PowerPoint プレゼンテーションをマージする方法について詳しく説明します。 PowerPoint を結合するには、入力 PowerPoint をローカル ドライブからロードすることも、クラウド ストレージからロードすることも、Web URL から直接ロードすることもできることに注意してください。以下に指定されている指示に従ってください。
- まず、ClientIDとClient Secretを引数としてSlidesApiオブジェクトのオブジェクトを作成します。
- 次に、最初の PowerPoint のデータを提供する FileInfo のオブジェクトを作成します。
- 3 番目に、マージする PPT ファイルのリストを保持する ArrayList のインスタンスを作成します。
- 次のステップでは、結合する PowerPoint ごとに PresentationToMerge の個別のオブジェクトを作成します。
- PowerPoint をローカル ストレージからロードするには、PresentationToMerge 列挙体の REQUEST 値を使用する必要があります。
- PowerPoint 内の特定のスライドを結合するように指定するには、setSlides(…) メソッドを使用します。
- 次のステップでは、プレゼンテーション ファイルをマージする順序を設定します。この目的のために、OrderedMergeRequest オブジェクトを使用し、その setPresentations(..) メソッドを使用します。
- 最後に、mergeAndSaveOnline(…) メソッドを呼び出して PowerPoint プレゼンテーションをマージし、結果のファイルをクラウド ストレージに保存します。
try
{
// https://dashboard.aspose.cloud/ から ClientID と ClientSecret を取得します。
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// SlidesApiのインスタンスを作成する
SlidesApi slidesApi = new SlidesApi(clientId,clientSecret);
// プレゼンテーションを収集してマージします。
FileInfo fileInfo = new FileInfo();
// 入力プレゼンテーションを読む
fileInfo.setData(Files.readAllBytes(Paths.get("TemplateCV.pptx")));
// ソース PowerPoint の名前を設定する
fileInfo.setName("TemplateCV.pptx");
// FileInfo オブジェクトの配列リストを作成する
List<FileInfo> files = new ArrayList<FileInfo>();
// FileInfo オブジェクトを Array リストに追加
files.add(fileInfo);
// 最初のプレゼンテーションをマージするための情報を準備します。
PresentationToMerge presentation1 = new PresentationToMerge();
// ローカルドライブからPowerPointを読み取る
presentation1.setSource(PresentationToMerge.SourceEnum.REQUEST);
// 最初の PowerPoint ファイルのパスを設定します
presentation1.setPath("TemplateCV.pptx");
// 結合する必要がある PowerPoint のスライドを指定します
presentation1.setSlides(Arrays.asList(1, 2));
// 最初のプレゼンテーションをマージするための情報を準備します。
PresentationToMerge presentation2 = new PresentationToMerge();
presentation2.setPath("Presentation1.pptx");
// PowerPoint がパスワードで保護されている場合は、パスワードの詳細を設定します
///presentation2.setPassword("my_password");
// ソースをクラウドストレージとして指定します
presentation2.setSource(PresentationToMerge.SourceEnum.STORAGE);
// 最初のプレゼンテーションをマージするための情報を準備します。
PresentationToMerge presentation3 = new PresentationToMerge();
// Web URL としての PowerPoint のパス
presentation3.setPath("https://github.com/aspose-slides-cloud/aspose-slides-cloud-java/blob/master/TestData/test-unprotected.pptx");
presentation3.setSlides(Arrays.asList(1));
// パス値を URL として設定する
presentation3.setSource(PresentationToMerge.SourceEnum.URL);
// マージリクエストを準備します。
OrderedMergeRequest request = new OrderedMergeRequest();
// PowerPoint プレゼンテーションの結合順序を設定する
request.setPresentations(Arrays.asList(presentation1, presentation2));//, presentation3));
// API を呼び出して PowerPoint を結合し、出力をクラウド ストレージに保存します
slidesApi.mergeAndSaveOnline("Merged.pptx", files, request, "internal"); // mergeOnline(files, request, null);
System.out.println("Merge PowerPoint successful !");
}catch(Exception ex)
{
System.out.println(ex);
}
上記の例で使用したサンプル ファイルは、TemplateCV.pptx、Presentation1.pptx、および Merged.ppt からダウンロードできます。
cURL コマンドを使用して PowerPoint を結合する
cURL コマンドはプラットフォームに依存せず、どのプラットフォームでも実行できます。したがって、このセクションでは、cURL コマンドを使用して PowerPoint プレゼンテーションを結合する方法について詳しく説明します。したがって、このアプローチの前提条件として、まず、次のコマンドの実行中に (クライアントの資格情報に基づいて) JWT アクセス トークンを生成する必要があります。
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
JWT トークンを取得したら、次のステップは、次のコマンドを使用して PowerPoint プレゼンテーションを結合することです。次のコマンドでは、最初のプレゼンテーションの最初のスライドが結合され、2 番目のプレゼンテーションでは 1 番目と 3 番目のスライドが結合されることに注意してください。マージ PPTX はクラウド ストレージに保存されます。
curl -v -X PUT "https://api.aspose.cloud/v3.0/slides/merge?outPath=newResultant.pptx" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-H "Content-Type: application/json" \
-d "{ \"Presentations\": [ { \"Path\": \"Presentation1.pptx\", \"Password\": \"string\", \"Slides\": [ 1 ], \"Source\": \"Storage\" }, { \"Path\": \"test-unprotected.pptx\", \"Password\": \"string\", \"Slides\": [ 1,3 ], \"Source\": \"Storage\" } ]}"
結論
この記事では、Java Cloud SDK を使用して PowerPoint プレゼンテーションを結合する詳細について説明しました。 Java コード スニペットの他に、cURL コマンドを使用して複数のパワーポイントを 1 つに結合する方法の詳細についても学習しました。さらに、製品 ドキュメント を参照して、Cloud API が提供する数多くの素晴らしい機能について学ぶことを強くお勧めします。また、すべての Cloud SDK は MIT ライセンスに基づいて公開されているため、GitHub から完全なソース コードをダウンロードし、要件に応じて変更することを検討してください。問題が発生した場合は、無料の 製品サポート フォーラム を通じて迅速に解決するために当社に連絡することを検討してください。
関連記事
詳細については、次のリンクを参照してください。