透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
PDF(ポータブルドキュメントフォーマット)ファイルは文書の共有や提示に広く使用されており、PDFを複数のファイルに分割する必要がある場合があります。 特定のページを抽出したり、大きなドキュメントを小さなセクションに分割したり、各章ごとに個別のファイルを作成したりする場合、PDFを分割することは様々なシナリオで貴重な作業となります。
この記事では、C# を使用して PDF を分割する方法について学びます。 C#は多用途で強力な言語であり、PDFを操作するためのライブラリがいくつか利用可能で、比較的簡単に操作することができます。 C#でPDFを分割するための以下の2つのライブラリについて探ります。
iText7ライブラリを最初にインストールしてください。
入力されたPDFファイルからPdfReaderを作成します。
PdfDocumentを使用してPDFコンテンツを操作します。
それぞれの分割ファイルのページ数を計算します。
初期ページ範囲の値を設定します。
ループを使用して、それぞれの分割ファイルを処理します。
現在の分割ファイルのために新しいPdfDocumentを作成します。
元のドキュメントから新しいドキュメントにページをコピーします。
次のイテレーションのためにページ範囲の値を更新します。
完了した出力PDFを保存します。
全てのファイルが作成されるまで繰り返します。
IronPDFは、.NETおよびJava、Python、Node.jsでPDFを生成、編集、読み取るための強力なツールです。プログラマー向けに最適化されており、コードからPDFファイルの作成を容易に行うことができます。IronPDFは、HTML、CSS、JavaScript、および画像をPDFドキュメントに変換する能力を提供します。
IronPDFは様々なライセンスオプションがあり、Lite License、Plus License、Professional License、Unlimited Licenseが用意されています。
技術サポートや詳細については、Iron Softwareの公式サイトをご覧ください。
IronPDFは、PDFファイルを操作するために設計された強力なC#ライブラリです。 以下の機能を提供します作成する, 修正、および抽出PDFドキュメントからの内容。 開発者はPDFをゼロから生成し、既存のPDFを編集することができます。結合または分割彼ら。 さらに、IronPDFはHTMLコンテンツをPDF形式に変換することに優れており、レポートやドキュメントの生成に役立ちます。 デジタル署名、セキュリティ機能、高品質な出力のサポートを備えたIronPDFは、.NETアプリケーションにおけるPDF関連のタスクを簡素化します。
iTextSharpは、.NETフレームワーク用の無料のPDFライブラリです。このライブラリは、PDFドキュメントの作成、操作、および検索のための強力なツールセットを提供します。iTextSharpを使用することで、プログラマーは簡単に複雑なPDFファイルを生成および操作することができます。
iTextSharpの主な機能:
iTextSharpは、商用およびオープンソースプロジェクトの両方で使用される、信頼性の高いツールです。
**テキストシャープ (iText 7)は、.NETフレームワークでPDFファイルを扱うための広く使用されているライブラリです。 それは、プログラム的にPDFドキュメントからコンテンツを作成、変更、抽出するための強力な機能を提供します。 開発者はiTextSharpを使用してPDFにテキスト、画像、表、およびその他のグラフィカル要素を追加することができます。 また、ドキュメントの組み立て、電子署名、アーカイブおよびアクセシビリティ基準への準拠もサポートしています。 もともとJavaライブラリであったiTextSharpは、.NETに移植され、開発者およびユーザーの活発なコミュニティがあります。
インストールするにはIronPDF NuGetパッケージVisual Studioのパッケージマネージャーコンソールを使用して、以下の手順に従ってください:
Visual Studioで、「ツール」 -> 「NuGetパッケージマネージャー」 -> 「パッケージマネージャーコンソール」に進みます。
:ProductInstall
これにより、IronPDFパッケージとその依存関係がプロジェクトにダウンロードおよびインストールされます。 インストールが完了したら、C#プロジェクトでPDF関連のタスクにIronPDFを使用し始めることができます。
別の方法として、Visual Studio の NuGet パッケージ マネージャーを使用して IronPDF をインストールするか、プロジェクト ファイルに直接パッケージを追加することができます。もう一つの方法は、パッケージをダウンロードすることです。公式ウェブサイトプロジェクトに手動で追加する。 各メソッドは、PDF関連の機能をC#プロジェクトに統合するための簡単な方法を提供します。
インストールするには**テキストシャープVisual Studio 内のパッケージマネージャーコンソールを使用して、次の手順に従います:
Visual Studioで、「ツール」 -> 「NuGetパッケージマネージャー」 -> 「パッケージマネージャーコンソール」に進みます。
Install-Package itext7
これにより、iTextSharpパッケージとその依存関係がプロジェクトにダウンロードおよびインストールされます。 インストールが完了したら、C#プロジェクトでiTextSharpを使用してPDFを操作し始めることができます。
IronPDFを使用してPDFファイルを複数のPDFファイルに分割することができます。 シンプルな方法でこれを実現します。 以下のコードは、ソースPDFファイルを入力として受け取り、複数のPDFファイルに分割します。
static void Main(string [] args)
{
string file = "input.pdf"'
// Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, "output_split", NumberOfSplitFiles);
}
static void SplitPdfUsingIronPDF(string inputPdfPath, string outputFolder, int NumberOfSplitFiles)
{
PdfDocument sourceFile = PdfDocument.FromFile(inputPdfPath);
int firstPage = 1;
int lastPage = 2;
int totalPageInOneFile = sourceFile.PageCount / NumberOfSplitFiles;
for (int i = 1; i <= NumberOfSplitFiles; i++)
{
// Copy multiple pages into a new document
PdfDocument newSplitPDF = sourceFile.CopyPages(firstPage,lastPage);
string name = $@"{outputFolder}\SplitPDF_IronPDF_{i}.pdf";
newSplitPDF.SaveAs(name);
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
static void Main(string [] args)
{
string file = "input.pdf"'
// Call the SplitPdf method to split the PDF
SplitPdfUsingIronPDF(file, "output_split", NumberOfSplitFiles);
}
static void SplitPdfUsingIronPDF(string inputPdfPath, string outputFolder, int NumberOfSplitFiles)
{
PdfDocument sourceFile = PdfDocument.FromFile(inputPdfPath);
int firstPage = 1;
int lastPage = 2;
int totalPageInOneFile = sourceFile.PageCount / NumberOfSplitFiles;
for (int i = 1; i <= NumberOfSplitFiles; i++)
{
// Copy multiple pages into a new document
PdfDocument newSplitPDF = sourceFile.CopyPages(firstPage,lastPage);
string name = $@"{outputFolder}\SplitPDF_IronPDF_{i}.pdf";
newSplitPDF.SaveAs(name);
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
このコードの目的は、IronPDFライブラリを使用して、指定されたPDFファイルを複数の小さなPDFファイルに分割することです。 この機能を実現するために、SplitPdfUsingIronPDFメソッドが定義されています。
inputPdfPath: 入力PDFファイルのパスを表す文字列(例:"input.pdf").
出力フォルダ: 分割されたPDFファイルが保存される出力フォルダを表す文字列(例: "output_split").
SplitPdfUsingIronPDFメソッド内:
指定されたinputPdfPathからPDFをロードすることにより、sourceFileという名前のPdfDocumentオブジェクトが作成されます。
2つの整数変数、firstPage と lastPage が初期化されます。 これらは分割のためのページ範囲を表しています。
totalPageInOneFile は、ソースPDFの総ページ数を指定されたNumberOfSplitFilesで割ることによって計算されます。
ループは1からNumberOfSplitFilesまで繰り返します。
新しい PdfDocument オブジェクトが newSplitPDF という名前で作成されます。
最初のページから最後のページまで(包括的)sourceFileからnewSplitPDFにコピーされます。
結果として生成された小さいPDFは、「SplitPDF_IronPDF_1.pdf」などのファイル名で保存されます。(最初のスプリットのために)指定された出力フォルダーに。
"input.pdf" を実際の入力PDFファイルのパスに置き換えてください。IronPDFライブラリが適切にインストールされ、プロジェクトに参照されていることを確認してください。
出力ファイルは次のように作成されます:
次に、iTextSharpを使用してPDFドキュメントを複数のPDFファイルに分割します。 以下のコードは、ソースファイルを入力として受け取り、そのPDFドキュメントを複数の小さいファイルに分割します。
static void Main(string [] args)
{
string inputPath = "input.pdf";
// Output PDF files path (prefix for the generated files)
string outputPath = "output_split";
int NumberOfSplitFiles = 3;
// Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, NumberOfSplitFiles);
}
static void SplitPdfUsingiTextSharp(string inputPdfPath, string outputFolder, int NumberOfSplitFiles)
{
using (PdfReader Reader = new PdfReader(inputPdfPath))
{
using (PdfDocument doc = new PdfDocument(Reader))
{
int totalPageInOneFile = doc.GetNumberOfPages() / NumberOfSplitFiles;
int firstPage = 1;
int lastPage = totalPageInOneFile; // int pagenumber
for (int i = 1; i <= NumberOfSplitFiles; i++)
{
string filename = $@"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf";
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(filename))) // create output file
{
//pdfDocument.get
doc.CopyPagesTo(firstPage, lastPage, pdfDocument);
}
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
}
static void Main(string [] args)
{
string inputPath = "input.pdf";
// Output PDF files path (prefix for the generated files)
string outputPath = "output_split";
int NumberOfSplitFiles = 3;
// Call the SplitPdf method to split the PDF
SplitPdfUsingiTextSharp(inputPath, outputPath, NumberOfSplitFiles);
}
static void SplitPdfUsingiTextSharp(string inputPdfPath, string outputFolder, int NumberOfSplitFiles)
{
using (PdfReader Reader = new PdfReader(inputPdfPath))
{
using (PdfDocument doc = new PdfDocument(Reader))
{
int totalPageInOneFile = doc.GetNumberOfPages() / NumberOfSplitFiles;
int firstPage = 1;
int lastPage = totalPageInOneFile; // int pagenumber
for (int i = 1; i <= NumberOfSplitFiles; i++)
{
string filename = $@"{outputFolder}\SplitPDF_iTextSharp_{i}.pdf";
using (PdfDocument pdfDocument = new PdfDocument(new PdfWriter(filename))) // create output file
{
//pdfDocument.get
doc.CopyPagesTo(firstPage, lastPage, pdfDocument);
}
firstPage = lastPage + 1;
lastPage += totalPageInOneFile;
}
}
}
}
上記のコードは、iTextSharpを使用して大きなPDFファイルを小さな部分に分割する方法を示しています。それぞれの小さなPDFドキュメントには、元のドキュメントの一部が含まれます。
主な機能は、SplitPdfUsingiTextSharpメソッドにカプセル化されています。
SplitPdfUsingiTextSharpメソッド内:
指定されたinputPdfPathからPDFを読み込み、PdfReaderオブジェクトReaderが作成されます。
Reader を使用して、DOC という名前の PdfDocument オブジェクトが初期化されます。
ループは1からNumberOfSplitFilesまで繰り返します。
新しい小さなPDFファイルが「SplitPDF_iTextSharp_1.pdf」というファイル名で作成されます。(最初のスプリットのために)指定された出力フォルダーに。
新しいPDFドキュメント内(PDFドキュメント)ページはオリジナルドキュメントからコピーされています:
最初のページから最後のページまで(包括的)コピーされます。
より小さなPDFが保存されました。
iTextSharpライブラリが適切にインストールされ、プロジェクトに参照されていることを確認してください。 「input.pdf」を実際の入力PDFファイルのパスに置き換えてください。
iTextSharpとIronPDFの2つの分割メソッドを比較するために、いくつかの要素に基づいて評価しましょう:
使いやすさ:
iTextSharp: iTextSharpの方法は、PdfReader、PdfDocument、およびPdfWriterを作成することです。 ページ範囲を計算し、ページを新しいドキュメントにコピーします。 このアプローチには、iTextSharp APIを理解することが必要です。
コードの読みやすさ
iTextSharp: そのコードにはより多くのステップが含まれており、少し長くなり、読み取りにくさが増す可能性があります。
パフォーマンス:
iTextSharp: PdfDocument インスタンスの繰り返しの作成および破棄により、パフォーマンスに影響を与える可能性があります。
メモリ使用量:
iTextSharp: 複数のPdfDocumentインスタンスを作成すると、より多くのメモリを消費します。
結論として、iTextSharpとIronPDFの両方がC#でPDFファイルを分割するための堅牢なソリューションを提供し、それぞれに独自の利点があります。 IronPDFは、そのシンプルさ、読みやすさ、そしてより簡潔なアプローチによる潜在的なパフォーマンスの向上で際立っています。
汎用性と使いやすさのバランスを求める開発者には、IronPDFが魅力的な選択肢となるでしょう。さらに、IronPDFは無料試用. 最終的に、iTextSharpとIronPDFの選択は、各プロジェクトの要件および好まれる開発スタイルに依存します。