C# Directory.GetFiles(動作のガイド)
C# out パラメーター。 この機能をIronPDFと組み合わせることで、開発者は大規模なPDFワークフローを自動化できます。 たとえば、Directory.GetFiles を使用してフォルダー内のすべての PDF ファイルを検索し、 IronPDFを使用してそれらのファイルをまとめて処理し、マージ、注釈の追加、レポートの生成などのタスクを実行できます。 この組み合わせにより、多くのファイルをファイルシステムで扱う際に、操作が円滑に行えます。
IronPDF とは何ですか?
IronPDF は、開発者がPDFファイルをシームレスに操作するためのツールを提供する強力な.NETライブラリです。 IronPDFを使用すると、PDFを作成、編集、結合、分割、および操作を簡単かつ直感的な方法で行うことができます。 これには、HTMLからPDFへの変換、高度なスタイリング、およびメタデータ処理などの強力な機能が含まれています。 .NET開発者がPDF処理を必要とするアプリケーションで作業する場合、IronPDFはワークフローを効率化し、生産性を向上させる非常に有用なツールです。
開始方法
IronPDFのインストール
NuGetパッケージのインストール
まず、NuGetを通じてプロジェクトにIronPDFを追加します:
- Visual Studioでプロジェクトを開きます。
- ツール メニューに移動して、NuGetパッケージマネージャー > ソリューションのNuGetパッケージを管理 を選択します。
- NuGetパッケージマネージャーでIronPDFを検索します。

- IronPDFの最新バージョンをインストールします。
または、NuGetパッケージマネージャーコンソールを使用します:
Install-Package IronPdf
Basics of Directory.GetFiles in C
Directory.GetFiles メソッドは、System.IO 名前空間の一部であり、ファイル システムからファイル名を取得するために使用されます。 このメソッドは、Directoryクラスのパブリックスタティック文字列メンバーであり、ファイルパスへのアクセスを簡素化します。 例えば:
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf")
このスニペットは、現在のディレクトリ内のすべてのPDFファイルを取得します。 このメソッドをIronPDFと組み合わせることで、一度に複数のファイルを処理するための自動化ソリューションを作成できます。 また、特定の検索パターンを文字列パターンとして指定して、拡張子や名前に基づいてファイルをフィルタリングすることもできます。
さらに、検索サブディレクトリを含めるなどの検索オプションを指定して、ファイル取得ロジックをさらに洗練することができます:
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories);
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories);
Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf", SearchOption.AllDirectories)
これは、ネストされたフォルダ内のファイルも含まれ、それぞれのファイルの絶対パスを取得することを保証し、さまざまなシナリオに対応できる柔軟なアプローチを可能にします。
実用的な使用例
ディレクトリからPDFファイルを取得して処理
例: すべてのPDFファイルのロードと処理
Directory.GetFiles を使用すると、ディレクトリ内のすべての PDF ファイルを反復処理し、 IronPDFで処理することができます。
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
foreach (string file in pdfFiles)
{
// Load the PDF with IronPDF
var pdf = PdfDocument.FromFile(file);
Console.WriteLine($"Processing file: {Path.GetFileName(file)}");
}
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
foreach (string file in pdfFiles)
{
// Load the PDF with IronPDF
var pdf = PdfDocument.FromFile(file);
Console.WriteLine($"Processing file: {Path.GetFileName(file)}");
}
Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf")
For Each file As String In pdfFiles
' Load the PDF with IronPDF
Dim pdf = PdfDocument.FromFile(file)
Console.WriteLine($"Processing file: {Path.GetFileName(file)}")
Next file

この例では、ディレクトリから複数のPDFをロードして処理する方法を示しています。 一度ロードしたら、テキストを抽出したり、注釈を追加したり、コンテンツに基づいて新しいPDFを生成するなど、さまざまな操作を行うことができます。
検索パターンを使用したファイルのフィルタリング
例: 名前や日付によるPDFの選択
Directory.GetFiles を LINQ と組み合わせて、作成日や変更日などの基準に基づいてファイルをフィルター処理できます。
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
var recentFiles = pdfFiles.Where(file => File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7));
foreach (string file in recentFiles)
{
Console.WriteLine($"Recent file: {Path.GetFileName(file)}");
}
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
var recentFiles = pdfFiles.Where(file => File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7));
foreach (string file in recentFiles)
{
Console.WriteLine($"Recent file: {Path.GetFileName(file)}");
}
Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf")
Dim recentFiles = pdfFiles.Where(Function(file) File.GetLastWriteTime(file) > DateTime.Now.AddDays(-7))
For Each file As String In recentFiles
Console.WriteLine($"Recent file: {Path.GetFileName(file)}")
Next file

このアプローチにより、関連するファイルのみを処理して、時間と計算リソースを節約できます。 たとえば、この方法を使用して、最新の請求書や過去1週間以内に生成されたレポートのみを処理することができます。
IronPDFとDirectory.GetFilesを使ったバッチ操作
例: 複数のPDFの追加
ディレクトリの複数のPDFを1つのファイルに追加できます:
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
var pdfAppend = new PdfDocument(200, 200);
foreach (string file in pdfFiles)
{
var pdf = PdfDocument.FromFile(file);
pdfAppend.AppendPdf(pdf);
}
pdfAppend.SaveAs("LargePdf.pdf");
Console.WriteLine("PDFs Appended successfully!");
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
var pdfAppend = new PdfDocument(200, 200);
foreach (string file in pdfFiles)
{
var pdf = PdfDocument.FromFile(file);
pdfAppend.AppendPdf(pdf);
}
pdfAppend.SaveAs("LargePdf.pdf");
Console.WriteLine("PDFs Appended successfully!");
Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf")
Dim pdfAppend = New PdfDocument(200, 200)
For Each file As String In pdfFiles
Dim pdf = PdfDocument.FromFile(file)
pdfAppend.AppendPdf(pdf)
Next file
pdfAppend.SaveAs("LargePdf.pdf")
Console.WriteLine("PDFs Appended successfully!")

このアプローチは、統合されたレポートを作成したり、複数のドキュメントをアーカイブしたり、プレゼンテーションを準備するのに特に有用です。 このプロセスを自動化することで、大量のファイルを効率的に扱うことができます。
ステップごとの実装
プロジェクトのセットアップ
コードスニペット: IronPDFの初期化とPDFファイルの操作
以下のコードは、IronPDFをDirectory.GetFilesと共に使用してPDFドキュメントをロードし、操作する方法を示しています。
using IronPdf;
using System;
using System.IO;
class Program
{
static void Main()
{
// Retrieve all PDF file paths from the specified directory
string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf");
// Initialize a PdfDocument
var pdfAppend = new PdfDocument(200, 200);
// Create a text annotation to add to each PDF
TextAnnotation annotation = new TextAnnotation(0)
{
Contents = "Processed by IronPDF",
X = 50,
Y = 50,
};
// Iterate over each file path, load, annotate, and save
foreach (string file in pdfFiles)
{
var pdf = PdfDocument.FromFile(file);
pdf.Annotations.Add(annotation);
pdf.SaveAs(file);
}
}
}
using IronPdf;
using System;
using System.IO;
class Program
{
static void Main()
{
// Retrieve all PDF file paths from the specified directory
string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf");
// Initialize a PdfDocument
var pdfAppend = new PdfDocument(200, 200);
// Create a text annotation to add to each PDF
TextAnnotation annotation = new TextAnnotation(0)
{
Contents = "Processed by IronPDF",
X = 50,
Y = 50,
};
// Iterate over each file path, load, annotate, and save
foreach (string file in pdfFiles)
{
var pdf = PdfDocument.FromFile(file);
pdf.Annotations.Add(annotation);
pdf.SaveAs(file);
}
}
}
Imports IronPdf
Imports System
Imports System.IO
Friend Class Program
Shared Sub Main()
' Retrieve all PDF file paths from the specified directory
Dim pdfFiles() As String = Directory.GetFiles("C:\Users\kyess\Documents\PDFs", "*.pdf")
' Initialize a PdfDocument
Dim pdfAppend = New PdfDocument(200, 200)
' Create a text annotation to add to each PDF
Dim annotation As New TextAnnotation(0) With {
.Contents = "Processed by IronPDF",
.X = 50,
.Y = 50
}
' Iterate over each file path, load, annotate, and save
For Each file As String In pdfFiles
Dim pdf = PdfDocument.FromFile(file)
pdf.Annotations.Add(annotation)
pdf.SaveAs(file)
Next file
End Sub
End Class
コンソール出力

説明
このコードは、指定されたディレクトリ内のすべてのPDFファイルにテキスト注釈を追加する方法をC#のIronPDFを使用して示しています。 プログラムは、Directory.GetFiles メソッドを使用して指定されたフォルダーからすべての PDF ファイル パスを取得することから始まります。このメソッドは、ディレクトリを指定するために文字列パスを使用し、ファイル拡張子によるフィルタリングをサポートし、".pdf"拡張子を持つすべての PDF ファイルのパスを含む文字列ファイル名の配列を返します。
次に、コードは200x200のサイズを持つpdfAppend)を初期化しますが、このインスタンスはループ内で直接使用されません。次に、座標(50, 50)に"Processed by IronPDF"というテキストを含むTextAnnotationを作成します。 この注釈は、それぞれのPDFファイルに追加されます。
foreach ループでは、プログラムは pdfFiles 配列内の各ファイル パスを反復処理します。 各ファイルについて、PdfDocument.FromFile(file) を使用して PDF を読み込み、以前に作成した注釈を PDF の注釈コレクションに追加してから、pdf.SaveAs(file) を使用して更新された PDF を絶対パスに保存します。
このプロセスにより、指定されたディレクトリ内のすべてのPDFに同じ注釈が追加され、注釈が含まれた状態で保存されることが保証されます。
パフォーマンスのヒントとベストプラクティス
Directory.GetFilesでのファイル取得の最適化
大きなディレクトリでパフォーマンスを向上させるには、Directory.EnumerateFiles などの非同期メソッドを使用します。
多数のファイルを効率的に管理する
小さなバッチでファイルを処理してメモリ消費を減らします:
foreach (var batch in pdfFiles.Batch(10))
{
foreach (string file in batch)
{
var pdf = PdfDocument.FromFile(file);
// Process PDF
}
}
foreach (var batch in pdfFiles.Batch(10))
{
foreach (string file in batch)
{
var pdf = PdfDocument.FromFile(file);
// Process PDF
}
}
For Each batch In pdfFiles.Batch(10)
For Each file As String In batch
Dim pdf = PdfDocument.FromFile(file)
' Process PDF
Next file
Next batch
ファイル処理とPDF生成でのエラー処理
例外を処理するために、try-catchブロックでファイル処理をラップします:
try
{
var pdf = PdfDocument.FromFile(file);
// Process PDF
}
catch (Exception ex)
{
Console.WriteLine($"Error processing {file}: {ex.Message}");
}
try
{
var pdf = PdfDocument.FromFile(file);
// Process PDF
}
catch (Exception ex)
{
Console.WriteLine($"Error processing {file}: {ex.Message}");
}
Try
Dim pdf = PdfDocument.FromFile(file)
' Process PDF
Catch ex As Exception
Console.WriteLine($"Error processing {file}: {ex.Message}")
End Try
結論
Directory.GetFiles のパワーをIronPDFと組み合わせることで、開発者は大規模な PDF ファイルを効率的に管理および処理できるようになります。 このアプローチにより、バッチ処理、マージ、フィルタリング、PDFの変換などのタスクがシームレスになり、手作業を大幅に削減し、生産性が向上します。 IronPDFの高度な機能を活用することで、ヘッダーの追加やメタデータ、スタイリングを含む高品質なプロフェッショナルPDFドキュメントを、開発者がニーズに合わせて作成できます。
このガイドでは、 Directory.GetFiles を使用してIronPDFで PDF を取得および操作する方法について説明しました。 プロジェクトの設定から実用的な使用例の実装まで、現実のシナリオに適用できる重要な技術をカバーしました。 ドキュメントワークフローの自動化や.NETアプリケーションの機能向上を目指す場合、この組み合わせは強力でスケーラブルなソリューションを提供します。
IronPDFにさらに深く入り、高度な機能を探る準備が整ったら、公式ドキュメントを参考にして、ライブラリを実際のプロジェクトで試すことを検討してください。
よくある質問
C# で Directory.GetFiles メソッドはどのように動作しますか?
C# の Directory.GetFiles メソッドは System.IO 名前空間の一部で、指定したディレクトリからファイルパスを取得することができます。サブディレクトリを含めるオプションや検索パターンをサポートしており、特定のファイルタイプや名前にアクセスする際に効率的です。
C# を使用して PDF ファイル処理を自動化するにはどうすればよいですか?
IronPDF と Directory.GetFiles メソッドを使用して C# で PDF ファイル処理を自動化することができます。これにより、ディレクトリ内の PDF ファイルを見つけて、マージや注釈の追加、レポートの自動生成などのタスクを遂行できます。
Directory.GetFiles と PDF ライブラリを組み合わせることの利点は何ですか?
Directory.GetFiles と IronPDF のような PDF ライブラリを組み合わせると、PDF ドキュメントの自動化と効率的な管理が可能になります。PDF を一括取得して処理し、変更を適用し、ファイルを統合することで、生産性を高め、手作業を減らします。
複数の PDF を 1 つのドキュメントに追加するには、C# でどのように行うのですか?
複数の PDF を 1 つのドキュメントに追加するには、Directory.GetFiles を使用してディレクトリ内のすべての PDF ファイルを取得します。その後、各 PDF を IronPDF を使用して読み込み、単一の PdfDocument オブジェクトに追加し、統合された PDF ファイルとして保存します。
C# で作成日でディレクトリファイルをフィルターするにはどうすればよいですか?
LINQ と Directory.GetFiles を使用して作成日でディレクトリファイルをフィルターできます。たとえば、最近 1 週間以内に作成されたファイルを選択するには、次のようにします: var recentFiles = pdfFiles.Where(file => File.GetCreationTime(file) > DateTime.Now.AddDays(-7));
C# で大量のファイルを処理するためのベストプラクティスは何ですか?
大量のファイルを処理する場合、Directory.EnumerateFiles のような非同期メソッドを使用して、取得時間を短縮してパフォーマンスを向上させます。これは、大きなディレクトリを効率的に処理するのに特に役立ちます。
C# で PDF ファイル処理中のエラーをどのように処理しますか?
PDF ファイル処理中のエラーを try-catch ブロックで操作をラップすることで処理します。これにより、予期しないエラーが発生しても、アプリケーションがクラッシュせずに続行できるように例外を処理します。
C# での PDF ライブラリを使用したバッチ処理の例は何ですか?
バッチ処理の例として、Directory.GetFiles を使用して PDF を取得し、その後、IronPDF を使用してそれらを一括でマージまたは注釈を付けることが挙げられます。このアプローチは、反復的なタスクを自動化し、時間と労力を節約します。
.NET ライブラリを使用して PDF にテキスト注釈を追加するにはどうすればよいですか?
IronPDF を使用して PDF にテキスト注釈を追加するには、指定された内容と位置で TextAnnotation オブジェクトを作成します。各 PDF をロードし、注釈をその Annotations コレクションに追加し、更新されたドキュメントを保存します。
Visual Studio で NuGet を介して PDF ライブラリをインストールするにはどのような手順を踏めばよいですか?
Visual Studio で NuGet を介して PDF ライブラリをインストールするには、プロジェクトを開き、[ツール] > [NuGet パッケージ マネージャー] > [ソリューションの NuGet パッケージを管理] に移動し、IronPDF を検索してインストールします。または、NuGet パッケージ マネージャー コンソールでコマンドを使用します: Install-Package IronPDF。




