
C# Directory.GetFiles (개발자를 위한 작동 원리 안내서)
C# out 파라미터. IronPDF와 이 기능을 결합하면 개발자는 대규모로 PDF 워크플로를 자동화할 수 있습니다. 예를 들어, Directory.GetFiles를 사용하여 폴더 내의 모든 PDF 파일을 찾고, 이를 IronPDF를 사용하여 병합, 주석 추가, 보고서 생성 등의 작업을 일괄 처리할 수 있습니다. 이 조합은 파일 시스템에서 많은 파일을 다룰 때 특히 간소화된 운영을 가능하게 합니다.
IronPDF 란 무엇인가요?
IronPDF는 개발자에게 PDF 파일과 원활하게 작업할 수 있는 도구를 제공하는 견고한 .NET 라이브러리입니다. IronPDF를 사용하면 간단하고 직관적인 방법을 통해 PDF를 생성, 편집, 병합, 분할 및 조작할 수 있습니다. HTML to PDF 변환, 고급 스타일링 및 메타데이터 처리와 같은 강력한 기능을 포함합니다. .NET 개발자가 PDF 처리가 필요한 애플리케이션을 개발할 때 IronPDF는 워크플로를 간소화하고 생산성을 향상시키는 귀중한 도구입니다.
시작하기
IronPDF 설치 중
NuGet Install-Package
시작하려면 NuGet을 통해 IronPDF를 프로젝트에 추가하세요:
- Visual Studio에서 프로젝트를 엽니다.
- 도구 메뉴로 이동한 후 NuGet 패키지 관리자 > 솔루션용 NuGet 패키지 관리를 선택합니다.
- NuGet 패키지 관리자에서 IronPDF를 검색합니다.

- IronPDF의 최신 버전을 설치합니다.
또는 NuGet 패키지 관리자 콘솔을 사용합니다:
PM > Install-Package IronPdf
Basics of Directory.GetFiles in C#
Directory.GetFiles 메서드는 System.IO 네임스페이스의 일부로, 파일 시스템에서 파일 이름을 검색하는 데 사용됩니다. 이 메서드는 Directory 클래스의 공용 정적 문자열 멤버로, 파일 경로에 대한 액세스를 단순화합니다. 예를 들어:
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);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)}");
}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)}");
}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!");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);
}
}
}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콘솔 출력

설명
이 코드는 C#의 IronPDF를 사용하여 지정된 디렉토리 내의 모든 PDF 파일에 텍스트 주석을 추가하는 방법을 보여줍니다. 프로그램은 Directory.GetFiles 메서드를 사용하여 제공된 폴더에서 모든 PDF 파일 경로를 검색하며, 문자열 경로를 사용하여 디렉터리를 지정하고 파일 확장자로 필터링을 지원하여 모든 ".pdf" 확장자 PDF 파일의 경로를 포함하는 문자열 배열을 반환합니다.
그 다음, 코드에서는 200x200 크기의 PdfDocument 객체(pdfAppend)를 초기화하나, 이 특수 인스턴스는 루프에서 직접 사용되지는 않습니다. 그런 다음, (50, 50) 좌표에 'Processed by IronPDF'라는 텍스트를 위치시킨 TextAnnotation를 생성합니다. 이 주석은 각 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
}
}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
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를 사용하여 PDF를 IronPDF로 검색하고 조작하는 방법을 탐구했습니다. 프로젝트 설정에서 실용적인 사용 사례 구현까지 우리는 실제 시나리오에 적용할 수 있는 필수 기술을 다루었습니다. .NET 애플리케이션의 기능을 자동화하거나 향상시키는 작업을 하든 간에, 이 조합은 강력하고 확장 가능한 솔루션을 제공합니다.
IronPDF에 대해 더 깊이 들어가고 고급 기능을 탐색할 준비가 되었다면, 공식 문서를 참조하여 자신만의 프로젝트에서 라이브러리를 테스트해 보세요.

Jacob Mellor is Chief Technology Officer at Iron Software and a visionary engineer pioneering C# PDF technology. As the original developer behind Iron Software's core codebase, he has shaped the company's product architecture since its inception, transforming it alongside CEO Cameron Rimington into a 50+ person company serving NASA, Tesla, and global government agencies.
Related Articles


