以前の投稿の1つで、プログラムでC#を使用してドキュメントにOLEオブジェクトを挿入する方法を学びました。本日、この記事では、PDFやその他のさまざまなドキュメントを** OLEオブジェクトとしてWordドキュメント、Excelスプレッドシート、Javaを使用したPowerPointプレゼンテーションスライド**に埋め込みます。
この記事では、次のことについて説明します。
- OLEオブジェクト用のJavaAPI
- Javaを使用してOLEオブジェクトをMSWordドキュメントに挿入
- Javaを使用してOLEオブジェクトをExcelスプレッドシートに追加する
- Javaを使用したOLEを介したプレゼンテーションへのドキュメントの挿入
OLEオブジェクト用のJavaAPI
この記事の手順と例では、GroupDocs.Merger for Javaを使用して、OLE(Object Linking and Embedding) を介して他のドキュメントにドキュメントを挿入します。このAPIを使用すると、最小限のJavaコード行で複数のドキュメントを効率的に結合および分割することもできます。先に進む前に、関連する方法のいずれかで環境を準備するとよいでしょう。
- ダウンロードセクションからAPIをダウンロードします。
- ** Mavenベース**プロジェクトの場合、pom.xmlの構成は次のとおりです。
<repository>
<id>GroupDocsJavaAPI</id>
<name>GroupDocs Java API</name>
<url>http://repository.groupdocs.com/repo/</url>
</repository>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-merger</artifactId>
<version>20.7</version>
</dependency>
Javaを使用してPDFをOLEオブジェクトとしてMSWordドキュメントに挿入する
以下の手順とコード例は、GroupDocs.Merger APIを使用して、PDFドキュメントをJavaのOLEオブジェクトとしてWordドキュメントに挿入します。
- Mergerオブジェクトをソース_ワードプロセッシングドキュメント_パスまたはストリームでインスタンス化します。
- OleWordProcessingOptionsを、Wordドキュメントに埋め込まれるPDFドキュメントのパスで初期化します。
- マージクラスのimportDocumentメソッドを呼び出します。
- saveメソッドを呼び出して、結果のワードドキュメントを保存します。
// PDFをOLEオブジェクトとしてWord文書に埋め込む
int pageNumber = 1;
OleWordProcessingOptions oleWordsOptions = new OleWordProcessingOptions("PDF-document.pdf", pageNumber);
oleWordsOptions.setWidth(200); // Setting the width and height of embedded document
oleWordsOptions.setHeight(200);
// PDFをWord文書にインポートする
Merger merger = new Merger("document.docx"); // Source Word document
merger.importDocument(oleWordsOptions);
merger.save("output-document.docx");
Javaを使用してWord文書をOLEオブジェクトとしてExcelスプレッドシートに挿入する
スプレッドシートには、Word文書、スプレッドシート、プレゼンテーション、画像、サウンドクリップなど、他の文書を埋め込むこともできます。ここでは、Word文書をOLEオブジェクトとしてスプレッドシートに追加しています。
- スプレッドシートに埋め込まれるWord文書のパスを指定して、OleSpreadsheetOptionsクラスオブジェクトを初期化します。
- 行や列の位置などのオプションを設定します。
- Mergerクラスオブジェクトをスプレッドシートドキュメントのパスで初期化します。
- すでに設定されているOLEスプレッドシートオプションを指定して、importDocumentメソッドを呼び出します。
- saveメソッドを呼び出して、Word文書が埋め込まれた結果のスプレッドシートを保存します。
// Word文書をOLEオブジェクトとしてExcelスプレッドシートに埋め込む
int pageNumber = 1;
OleSpreadsheetOptions oleCellsOptions = new OleSpreadsheetOptions("document.docx", pageNumber);
oleCellsOptions.setRowIndex(2); // Set row & column number of Spreasheet to embedded document
oleCellsOptions.setColumnIndex(1);
// Word文書をスプレッドシートにインポートします
Merger merger = new Merger("spreadsheet.xlsx"); // Source Spreadsheet
merger.importDocument(oleCellsOptions);
merger.save("output-spreadsheet.xlsx");
Javaを使用してExcelシートをOLEオブジェクトとしてプレゼンテーションに挿入する
同様に、プレゼンテーションに外部ドキュメントを追加する必要がある場合は、以下に示す数行のJavaコードを使用して、これらを正確な場所に挿入できます。
- OlePresentationOptionsクラスオブジェクトを初期化し、スプレッドシートドキュメントのパスを渡します。
- 今後の埋め込みスプレッドシートのx座標とy座標、高さと幅などのOLEプレゼンテーションオプションを設定します。
- プレゼンテーションドキュメントパスをパラメータとしてMergerクラスオブジェクトをインスタンス化します。
- MergerクラスのimportDocumentメソッドを使用して、スプレッドシートをプレゼンテーションに埋め込みます。
- saveメソッドを呼び出して、結果のプレゼンテーションファイルを取得します。
// スプレッドシートをOLEオブジェクトとしてプレゼンテーションに埋め込む
int pageNumber = 1;
OlePresentationOptions oleSlidesOptions = new OlePresentationOptions("spreadsheet.xlsx", pageNumber);
// 座標と寸法を設定する
oleSlidesOptions.setX(10);
oleSlidesOptions.setY(10);
oleSlidesOptions.setHeight(200);
oleSlidesOptions.setWidth(200);
// スプレッドシートをプレゼンテーションにインポートする
Merger merger = new Merger("presentation.pptx");
merger.importDocument(oleSlidesOptions);
merger.save("output-presentation.pptx");
結論
** Javaを使用してWord、Excel、およびPowerpointドキュメントにOLEオブジェクトをプログラムで挿入する方法**を学びました。ドキュメントをさまざまな種類のソースドキュメントに埋め込む際の主な違いは、それぞれのOLEオプションクラスを使用することだけです。それでおしまい。
Merger API for Javaの詳細については、ドキュメントにアクセスしてください。ご不明な点がございましたら、GroupDocsサポートチームが無料サポートフォーラムでお手伝いさせていただきます。