複数のプラットフォームでさまざまなタイプのドキュメントをマージまたは分割することを心配していますか?あなたの心の中には多くの声明があるかもしれません:

  • JavaでPDFドキュメントをマージするにはどうすればよいですか?
  • Word文書を分割したり、Excelスプレッドシートをマージしたりしたい。
  • PPT/PPTXプレゼンテーションをマージする必要がある場合の対処方法。
  • さらに多くの質問、リストは終了しない場合があります。
JavaでPDF、Word、Excelドキュメントを分割またはマージ
GroupDocs.Merger for Java

GroupDocsは、このようなすべての要件に対応するドキュメントマージソリューションを提供します。 Java APIを使用すると、ドキュメントをマージして、サポートされているさまざまなドキュメント形式でJavaのドキュメント構造を操作できます。さらに、ドキュメントページの操作、ページ変換、ドキュメントからの情報抽出、プレビューの生成などが可能になります。

この記事では、次のトピックについて少し見ていきます。

以下で説明するコードサンプルと手順はGroupDocs.MergerforJavaを使用しているため、ダウンロードするか、pom.xml構成を使用してMavenベースのアプリケーションに統合できます。

JavaでPDFファイルをマージする

わずか数行のコードで2つ以上のPDFファイルを組み合わせることができます。以下は、examplesのコードスニペットです。これは自明であり、さらに説明する必要がないため、Javaで複数のPDFドキュメントをマージする方法を示しています。結合するドキュメントを決定した場合、手順は非常に簡単です。

  • 他のドキュメントがマージされる最初のドキュメントでMergerオブジェクトをインスタンス化します。
  • joinメソッドを呼び出し、マージするドキュメントを渡します。
  • 結合メソッドを呼び出して、より多くのドキュメントをマージします。
  • saveメソッドを呼び出して、最終出力を保存します。
  • それでおしまい。
// Set paths for the documents to join together in a single file.
String filePath1 = "document-1.pdf";
String filePath2 = "document-2.pdf";
String filePath3 = "document-3.pdf";
// Merger multiple PDF documents into a single PDF file.
Merger merger = new Merger(filePath1 );
merger.join(filePath2 ); // Joining 2nd Document
merger.join(filePath3 ); // Joining 3rd Document
// Save the merged document.
String filePathOutput = "mergedDocument.pdf";
merger.save(filePathOutput);

Excel、Word、PowerPointドキュメントをJavaでマージ

複数のWord文書、Excelスプレッドシート、PowerPointプレゼンテーション、実際には同じ形式のほとんどすべての文書を組み合わせることができます。上記のPDFドキュメントを結合するコードは、さまざまなドキュメントをマージするために使用できます。記事の最後に、同じコードでマージできるファイル形式のリストについて説明します。ここで例として、2つ以上のWordドキュメントをわずか数行のJavaコードで1つのWordファイルに結合する方法を示します。

// Merger multiple Word documents into a single DOCX file.
Merger merger = new Merger("document1.docx" );
merger.join("document2.docx" ); // Joining 2nd Document
merger.join("document3.docx" ); // Joining 3rd Document
// Save the merged document.
merger.save("mergedDocument.pdf");

Javaでドキュメントページをマージする

複数のドキュメントは、選択したページによって、また目的のページ範囲を指定することによってマージできます。コードは上記と同じままですが、JoinOptionsクラスを使用してマージオプションを設定する際に少し変更を加えます。

以下は、特定のページを指定してドキュメントをマージする方法を示すソースコードスニペットです。

// Set the start and end page number in JoinOptions class.
JoinOptions joinOptions = new JoinOptions(1, 2);
// Merge two files with selective pages using join method.
Merger merger = new Merger("document-1.docx");
merger.join("document-2.docx" , joinOptions);
merger.save("merged-Document.docx");

Javaでドキュメントを複数のドキュメントに分割する

上記のドキュメントをマージしたのと同じように、Wordドキュメント、Excelスプレッドシート、プレゼンテーション、PDFファイル、およびその他の多くのドキュメントをさまざまな方法ですばやく分割することもできます。

  • 正確なページ番号で分割
  • ドキュメントを複数の複数ページのドキュメントに分割する
  • ページ範囲で分割
  • 偶数ページと奇数ページで分割

正確なページ番号で分割

Javaで正確なページ数を提供することにより、ドキュメントを分割できます。次のコードは、PDFファイルを3つのドキュメントに分割し、それぞれに上記の1ページが含まれます。

  • SplitOptionsオブジェクトを、分割する出力ファイルとモードで初期化します。
  • 分割するソースファイルまたはストリームを使用してMergerオブジェクトをインスタンス化します。
  • splitメソッドを呼び出して、提供されたドキュメントを分割して保存します。
String filePath = "document.pdf";
String filePathOut = "document\_{0}.{1}";
// Split the document into multiple single page documents.
SplitOptions splitOptions = new SplitOptions(filePathOut, new int\[\] { 3, 6, 8 });
Merger merger = new Merger(filePath);
merger.split(splitOptions);

ドキュメントを複数ページのドキュメントに分割

6ページのドキュメントがある場合、上記のコードを少し変更すると、次のようにドキュメントが3つの別々のドキュメントに分割されます。

SplitOptions splitOptions = new SplitOptions(filePathOut,  SplitMode.Interval, new int\[\] { 3, 6 },);

開始ページと終了ページの範囲で分割

ページ範囲を指定するだけでドキュメントを分割する場合は、Powerpointプレゼンテーションを3つの単一ページプレゼンテーションに分割する方法を次に示します。

String filePath = "presentation.ppt";
String filePathOut = "presentation\_{0}.{1}";
// Split the presentation into multiple single page presentations.
SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 5);
Merger merger = new Merger(filePath);
merger.split(splitOptions)

偶数または奇数のページ範囲で分割

偶数ページと奇数ページの範囲を分割するように設定できます。 SplitOptionsに従うと、提供されたドキュメントを3〜8の範囲の奇数ページの複数の1ページのドキュメントに分割できます。

SplitOptions splitOptions = new SplitOptions(filePathOut, 3, 8, RangeMode.OddPages);

サポートされているドキュメント形式

約束どおり、上記の例でマージまたは分割できるドキュメント形式のリストを次に示します。いつでもdocsにアクセスして、更新されたリストを確認できます。

ここでお会いできてうれしいです。何か問題を感じたり、混乱したり、良い提案をしたい場合は、フォーラムで自由に連絡してください。