C# Directory.GetFiles(工作原理:開發者指南)
C# out 參數。 透過將此功能與 IronPDF 搭配使用,開發人員便可大規模地自動化 PDF 工作流程。 例如,您可以使用 Directory.GetFiles 來找出資料夾中的所有 PDF 檔案,然後再使用 IronPDF 來大量處理這些檔案,以執行合併、新增註解或產生報表等工作。 這樣的組合可以簡化操作,尤其是在處理檔案系統中的許多檔案時。
什麼是 IronPDF?
IronPDF 是一個強大的 .NET 函式庫,提供開發人員與 PDF 檔案無縫接軌的工具。 使用 IronPDF,您可以使用直接、直觀的方法來建立、編輯、合併、分割和處理 PDF。 它包括強大的功能,例如 HTML-to-PDF轉換、進階樣式設定和元資料處理。 對於從事需要 PDF 處理的應用程式的 .NET 開發人員而言,IronPDF 是一種無價的工具,可簡化工作流程並提高生產力。
開始
安裝 IronPDF。
NuGet 套件安裝
首先,透過 NuGet 將 IronPDF 加入您的專案:
1.在 Visual Studio 中開啟您的專案。 2.移至 Tools 功能表,並選擇 NuGet Package Manager > Manage NuGet Packages for Solution。 3.在 NuGet 套件管理器中搜尋 IronPDF。

4.安裝最新版本的 IronPdf。
或者使用 NuGet Package Manager Console:
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)}");
}
本範例示範如何從目錄載入多個 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)}");
}
此方法可確保只處理相關檔案,節省時間和計算資源。 例如,您可以使用此方法僅處理最近一週內產生的最新發票或報告。
使用 IronPDF 和 Directory.GetFiles 進行批次作業
範例:追加多個 PDF 文件
您可以將一個目錄中的多個 PDF 附加到單一檔案中:
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!");
這種方法對於建立綜合報告、歸檔多份文件或準備簡報特別有用。 透過自動化此流程,您可以毫不費力地處理大量的檔案集合。
逐步實施
設定專案
程式碼片段:初始化 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);
}
}
}控制台輸出

說明
本代碼示範如何使用 C# 中的 IronPDF 為指定目錄中的所有 PDF 檔案新增文字註釋。 程式一開始會使用 Directory.GetFiles 方法從所提供的資料夾中擷取所有 PDF 檔案路徑,此方法依賴字串路徑來指定目錄,並支援依檔案副檔名過濾,會傳回包含所有副檔名為 ".pdf" 的 PDF 檔案路徑的字串檔案名陣列。
接下來,程式碼會初始化一個尺寸為 200x200 的 PdfDocument 物件 (pdfAppend),不過這個特定的實例不會直接用在循環中。然後,程式會建立一個 TextAnnotation 物件,並將文字"Processed by IronPdf"置於座標 (50, 50)。 此註解將被添加到每個 PDF 檔案中。
在 foreach 環路中,程式會遍歷 pdfFiles 陣列中的每個檔案路徑。 對於每個檔案,它會使用 PdfDocument.FromFile(file) 載入 PDF,將先前建立的註解新增至 PDF 的 Annotations 集合,然後再使用 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
}
}檔案處理和 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}");
}結論
結合 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 文件、應用修改以及合併文件,從而提高工作效率並減少人工操作。
如何使用 C# 將多個 PDF 檔案合併到一個文件中?
若要將多個 PDF 檔案合併到單一文件中,請使用 Directory.GetFiles 函數檢索目錄中的所有 PDF 檔案。然後,使用 IronPDF 載入每個 PDF 文件,並將它們合併到一個 PdfDocument 物件中,該物件可以儲存為合併後的 PDF 文件。
如何在C#中按建立日期篩選目錄檔案?
您可以使用 LINQ 的 Directory.GetFiles 方法按建立日期篩選目錄檔案。例如,要選擇最近一週內建立的文件,請使用: 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 。







