.NET ヘルプ

C# Directory.GetFiles(動作の仕組み:開発者向けガイド)

公開済み 2025年2月19日
共有:

イントロダクション

C# out パラメーター。 この機能をIronPDFと組み合わせることにより、開発者はPDFワークフローを大規模に自動化することができます。 たとえば、Directory.GetFiles を使用してフォルダー内のすべての PDF ファイルを見つけ、それらを一括で処理することができます。IronPDF統合、注釈の追加、またはレポートの生成などのタスクに。 この組み合わせにより、多くのファイルシステムでファイルを扱う際に、業務が効率化されます。

IronPDFとは何ですか?

IronPDFは、開発者がPDFファイルをスムーズに扱うためのツールを提供する強力な.NETライブラリです。 IronPDFを使用すると、簡単で直感的な方法でPDFを作成、編集、結合、分割、操作することができます。 強力な機能が含まれていますHTMLからPDFへの変換、高度なスタイリングとメタデータの処理。 .NET開発者がPDF処理を必要とするアプリケーションを開発する際に、IronPDFはワークフローを効率化し、生産性を向上させる貴重なツールです。

はじめに

IronPDFのインストール

NuGetパッケージのインストール

まず、NuGetを介してIronPDFをプロジェクトに追加します。

  1. Visual Studioでプロジェクトを開きます。

  2. ツール メニューに移動し、NuGet パッケージ マネージャー > ソリューションの NuGet パッケージを管理 を選択します。

    1. NuGetパッケージマネージャーでIronPDFを検索します。

    C# Directory.GetFiles(仕組み:開発者向けガイド):図1

  3. 最新バージョンのIronPDFをインストールします。

    あるいは、NuGet パッケージ マネージャー コンソールを使用します:

Install-Package IronPdf
Install-Package IronPdf

C&#;のDirectory.GetFilesの基本

Directory.GetFiles メソッドは System.IO 名前空間の一部であり、ファイルシステムからファイル名を取得するために使用されます。 このメソッドは、Directoryクラスのパブリック静的文字列メンバーであり、ファイルパスのアクセスを簡素化します。 例えば:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
string[] pdfFiles = 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);

これにより、入れ子になったフォルダー内のファイルも含まれることが保証され、各ファイルの絶対パスが取得され、さまざまなシナリオに対応できるアプローチになります。

実用的な使用例

ディレクトリから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)}");
}

C# Directory.GetFiles(それがどのように機能するか: 開発者向けガイド): 図2

この例では、ディレクトリから複数の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)}");
}

C# ディレクトリ.GetFiles(仕組み:開発者向けガイド):図 3

このアプローチは、関連するファイルのみが処理されることを保証し、時間と計算リソースを節約します。 たとえば、このメソッドを使用して、先週生成された最新の請求書やレポートのみを処理することができます。

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!");

C# Directory.GetFiles (その仕組み:開発者向けガイド):図4

このアプローチは、統合されたレポートの作成、複数のドキュメントのアーカイブ、またはプレゼンテーションの準備に特に有用です。 このプロセスを自動化することで、大量のファイルコレクションを簡単に扱うことができます。

段階的な実装

プロジェクトの設定

コードスニペット: IronPDFの初期化とPDFファイルの操作

次のコードは、IronPDFをDirectory.GetFilesと一緒に使用してPDFドキュメントをロードおよび処理する方法を示しています。

using IronPdf;
using System;
using System.IO;
class Program
{
    static void Main()
    {
        string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf");
    var pdfAppend = new PdfDocument(200, 200);
    TextAnnotation annotation = new TextAnnotation(0)
    {
            Contents = "Processed by IronPDF",
            X = 50,
            Y = 50,
    };
    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()
    {
        string[] pdfFiles = Directory.GetFiles("C:\\Users\\kyess\\Documents\\PDFs", "*.pdf");
    var pdfAppend = new PdfDocument(200, 200);
    TextAnnotation annotation = new TextAnnotation(0)
    {
            Contents = "Processed by IronPDF",
            X = 50,
            Y = 50,
    };
    foreach (string file in pdfFiles)
    {
        var pdf = PdfDocument.FromFile(file);
            pdf.Annotations.Add(annotation);
            pdf.SaveAs(file);
    }
    }
}

コンソール出力

C# Directory.GetFiles(仕組み:開発者のためのガイド):図5

説明

このコードは、C#を使用してIronPDFで指定されたディレクトリ内のすべてのPDFファイルにテキスト注釈を追加する方法を示します。 プログラムは、指定されたフォルダーからDirectory.GetFilesメソッドを使用してすべてのPDFファイルパスを取得することから始まります。このメソッドは、ディレクトリを指定するための文字列パスに依存しており、ファイル拡張子によるフィルタリングをサポートしています。 これは、".pdf"ファイル拡張子を持つすべてのPDFファイルのパスを含む文字列ファイル名の配列を返します。

次に、コードはPdfDocumentオブジェクトを初期化します。(pdfAppend)この特定のインスタンスはループで直接使用されませんが、200x200のサイズで作成されます。その後、座標で「Processed by IronPDF」というテキストが配置されたTextAnnotationを作成します。(10, 10). この注釈は各PDFファイルに追加されます。

foreach ループでは、プログラムは pdfFiles 配列内の各ファイルパスを順に反復処理します。 各ファイルに対して、PdfDocument.FromFileを使用してPDFを読み込みます。(ファイル)、以前に作成した注釈をPDFの注釈コレクションに追加し、pdf.SaveAsを使用して更新された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
    }
}

ファイル処理とPDF生成におけるエラー処理

ファイル処理をトライキャッチブロックでラップして例外を処理する:

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}");
}

結論

Directory.GetFilesの機能とIronPDFを組み合わせることで、開発者はPDFファイルを効率的に管理し、スケールで処理できます。 このアプローチにより、バッチ処理、結合、フィルタリング、PDFの変換といったタスクがスムーズになり、手作業の労力を大幅に削減し、生産性が向上します。 開発者は、IronPDFの高度な機能であるヘッダーの追加、メタデータ、スタイリングを活用することで、自分の要件に合わせた高品質でプロフェッショナルなPDFドキュメントを作成できます。

このガイドを通じて、Directory.GetFiles を使用して、IronPDF と共に PDF を取得および操作する方法を探ってきました。 プロジェクトの設定から実用的なユースケースの実装まで、現実世界のシナリオに適用できる基本的な技術について説明しました。 .NETアプリケーションの機能を強化するにしろ、ドキュメントワークフローを自動化するにしろ、この組み合わせは強力でスケーラブルなソリューションを提供します。

IronPDFの詳細と高度な機能を探索する準備ができたら、公式ドキュメント購入を決定する前に、自分のプロジェクトでライブラリをテストすることができます。

ジョルディ・バルディア

ジョルディ・バルディア

ソフトウェアエンジニア

 LinkedIn |  Website

ジョルディは、Iron Softwareでのスキルを活かしていないときには、ゲームプログラミングをしており、Python、C#、C++に最も堪能です。彼は製品テスト、製品開発、研究の責任を共有しており、継続的な製品改善に大きな価値をもたらしています。この多様な経験は彼を常に挑戦的で魅力的に保ち、彼はIron Softwareで働く一番好きな側面の一つだと言っています。ジョルディはフロリダ州マイアミで育ち、フロリダ大学でコンピューターサイエンスと統計学を学びました。
次へ >
C# Out パラメーター (その仕組み: 開発者のためのガイド)