C# Directory.GetFiles(工作方式:開發者指南)
C# out 參數。 通過將此功能與IronPDF配對,開發人員可以大規模自動化PDF工作流程。 例如,您可以使用Directory.GetFiles來定位資料夾中的所有PDF文件,然後使用IronPDF批量處理它們,進行合併、新增註釋或生成報告等任務。 此組合允許對操作進行精簡,特別是在處理文件系統中的多個文件時。
什麼是IronPDF?
IronPDF是功能強大的.NET程式庫,提供開發人員利用PDF文件無縫作業的工具。 使用IronPDF,您可以建立、編輯、合併、分割和操作PDF文件,方法簡單直觀。 它包括強大的功能,例如HTML到PDF的轉換、高級樣式和元資料處理。 對於需要PDF處理的.NET開發人員來說,IronPDF是精簡工作流程並提高生產力的寶貴工具。
開始使用
安裝IronPDF
NuGet套件安裝
首先,通過NuGet將IronPDF新增到您的專案中:
- 在Visual Studio中打開您的專案。
- 前往工具選單,選擇NuGet包管理器 > 管理解決方案的NuGet包。
- 在NuGet包管理器中搜尋IronPDF。

- 安裝IronPDF的最新版本。
或者,使用NuGet包管理器控制台:
Install-Package IronPdf
Basics of Directory.GetFiles in C
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

此方法確保只有相關文件被處理,節省時間和計算資源。 例如,您可以使用此方法只處理最近一周內生成的最新發票或報告。
利用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!");
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
控制台輸出

說明
此程式碼展示了如何使用IronPDF在C#中對指定目錄中的所有PDF文件新增文字註釋。 程式開始時,使用Directory.GetFiles方法從提供的文件夾中檢索所有PDF文件路徑,該方法依賴字串路徑來指定目錄,支持按文件擴展名篩選,返回包含所有帶有".pdf"擴展名的PDF文件路徑的字串文件名陣列。
接下來,程式碼初始化一個TextAnnotation,其中包含文字"Processed by IronPDF",位置為座標(50,50)。 此註釋將新增到每個PDF文件中。
在foreach迴圈中,程式遍歷pdfFiles陣列中的每個文件路徑。 對於每個文件,它使用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,應用修改並合併檔案,提升生產力並減少手動工作。
如何使用 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 文件時處理錯誤?
通過在 try-catch 塊中包裝操作來處理 PDF 文件處理中的錯誤。這樣可以確保異常被優雅地管理,讓應用程式可以繼續運行而不會因為意外錯誤而崩潰。
在 C# 中使用 PDF 程式庫進行批量處理的範例是什麼?
批處理的一個範例是使用 Directory.GetFiles 檢索 PDF,然後使用 IronPDF 批量合併或註釋它們。這種方法自動化重複的任務,節省時間和精力。
如何使用 .NET 程式庫向 PDF 新增文字註釋?
要使用 IronPDF 向 PDF 新增文字註釋,請建立一個具有指定內容和位置的 TextAnnotation 物件。載入每個 PDF,將註釋新增到其 Annotations 集合中,並保存更新的文件。
如何在 Visual Studio 中通過 NuGet 安裝 PDF 程式庫的步驟?
要通過 NuGet 在 Visual Studio 中安裝 PDF 程式庫,打開您的專案,導航到工具 > NuGet 套件管理器 > 管理方案的 NuGet 套件,搜索 IronPDF 並安裝它。或者,使用 NuGet 套件管理器控制台與命令:Install-Package IronPdf。




