C#を使用してPDFファイルを複数のファイルに分割する

前の記事では、複数のPDFファイルを1つのPDFにマージする方法を見てきました。ただし、1つのPDFファイルを複数のファイルに分割する必要がある場合があります。 PDFの各ページまたはページのコレクションを複数のPDFに分割することができます。この記事では、このようなシナリオに対処し、C#を使用してPDFファイルを分割する方法を学習します。

Split PDF C#API-無料ダウンロード

Aspose.PDF for .NETは、.NETアプリケーション内からPDFドキュメントを作成、編集、および処理できる強力なPDFファイル操作APIです。さらに、APIを使用すると、単一のPDFを忠実度の高い複数のファイルに分割できます。 APIのDLLをダウンロードするか、NuGetを使用してインストールできます。

PM> Install-Package Aspose.Pdf

C#を使用してPDFファイルを分割する

PDFの分割基準は、要件に応じて異なる場合があります。ドキュメントをページごとまたはページのコレクションごとに分割できます。まず、PDFファイルのすべてのページを分割する方法を見てみましょう。

  • Documentクラスを使用してPDFドキュメントをロードします。
  • Document.Pagesコレクションをループして、Pageクラスを使用して各ページにアクセスします。
  • すべての反復で、新しいDocumentを作成し、現在のページをドキュメントに追加し、Document.Save(String)メソッドを使用してPDFファイルとして保存します。

次のコードサンプルは、C#を使用してPDFドキュメントを分割する方法を示しています。

// ドキュメントを開く
Document pdfDocument = new Document("merged.pdf");

// ページカウンター用
int pageCount = 1;

// すべてのページをループする
foreach (Aspose.Pdf.Page pdfPage in pdfDocument.Pages)
{
  	// 新しいドキュメントを作成する
	Document newDocument = new Document();
  
  	// ドキュメントにページを追加
	newDocument.Pages.Add(pdfPage);
  
  	// PDFとして保存 
	newDocument.Save("page_" + pageCount + "_out" + ".pdf");
	pageCount++;
}

C#を使用してPDFの選択したページを分割する

ページ範囲を指定してPDFを分割することもできます。たとえば、最初または最後のN番号のページ、偶数または奇数のページなどを分割できます。デモの場合、PDFから偶数ページと奇数ページを分割する手順は次のとおりです。

次のコードサンプルは、PDFからページのコレクションを分割する方法を示しています。

// ドキュメントを開く
Document pdfDocument = new Document("merged.pdf"); 

// 偶数ページのみを選択
Aspose.Pdf.Page[] evenPages = pdfDocument.Pages.Where(x => x.Number % 2 == 0).ToArray();

// 奇数ページのみを選択
Aspose.Pdf.Page[] oddPages = pdfDocument.Pages.Where(x => x.Number % 2 != 0).ToArray();

// ページもPDFとして保存
Document newDocument = new Document();
newDocument.Pages.Add(evenPages);
newDocument.Save("split_even_Pages.pdf");

// 奇数ページをPDFとして保存
newDocument = new Document();
newDocument.Pages.Add(oddPages);
newDocument.Save("split_odd_Pages.pdf");

結論

この記事では、C#を使用してPDFファイルを分割する方法を学習しました。コードサンプルは、PDF内のすべてのページまたはページのコレクションを個別のファイルに分割する方法を示しました。 ドキュメントを使用して、.NETPDFAPIの詳細を調べることができます。

関連項目