
C# Directory.GetFiles (Nasıl Çalışır: Geliştiriciler İçin Bir Kılavuz)
C# out parametresi. Bu işlevselliği IronPDF ile eşleştirerek geliştiriciler ölçekli PDF iş akışlarını otomatikleştirebilir. Örneğin, bir klasördeki tüm PDF dosyalarını bulmak için Directory.GetFiles kullanabilir, ardından birleştirme, ek açıklama ekleme veya rapor oluşturma gibi görevler için IronPDF kullanarak toplu olarak işleyebilirsiniz. Bu kombinasyon, özellikle dosya sistemindeki birçok dosya ile çalışırken operasyonları kolaylaştırır.
IronPDF Nedir?
IronPDF, geliştiricilere PDF dosyaları ile sorunsuz çalışmak için araçlar sunan güçlü bir .NET kütüphanesidir. IronPDF ile PDF'leri oluşturabilir, düzenleyebilir, birleştirebilir, bölebilir ve basit, sezgisel yöntemler kullanarak düzenleyebilirsiniz. HTML'den PDF'ye dönüştürme, gelişmiş stil ayarlama ve meta veri işleme gibi güçlü özellikler içerir. .NET geliştiricileri için PDF işleme gerektiren uygulamalarda, IronPDF iş akışlarını hızlandıran ve verimliliği artıran değeri eşsiz bir araçtır.
Başlarken
Installing IronPDF
NuGet Paket Kurulumu
Başlamak için, projeye NuGet üzerinden IronPDF ekleyin:
- Projenizi Visual Studio'da açın.
- Araçlar menüsüne gidin ve NuGet Paket Yöneticisi > Çözüm İçin NuGet Paketlerini Yönet seçeneğini seçin.
- NuGet paket yöneticisinde IronPDF'yi arayın.

- IronPDF'nin en son sürümünü yükleyin.
Alternatif olarak, NuGet Paket Yöneticisi Konsolu kullanabilirsiniz:
Basics of Directory.GetFiles in C#
Directory.GetFiles yöntemi, System.IO ad alanının bir parçasıdır ve bir dosya sisteminden dosya adlarını almak için kullanılır. Bu yöntem, Directory sınıfının genel, statik bir string üyesidir ve dosya yollarına erişimi basitleştirir. Örneğin:
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf")Bu parça, geçerli dizindeki tüm PDF dosyalarını alır. Bu yöntemi IronPDF ile birleştirerek, birden fazla dosyayı eşzamanlı olarak işlemek için otomatik çözümler oluşturabilirsiniz. Ayrıca, uzantıları veya isimleri temel alan bir filtre uygulamak için bir string modeli olarak tanımlanan belirtilen bir arama modeli uygulayabilirsiniz.
Dosya kurtarma mantığınızı daha da ince ayarlayarak arama alt dizinlerini dahil etmek gibi arama seçeneklerini belirleyebilirsiniz:
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories);Dim pdfFiles() As String = Directory.GetFiles("C:\Documents\PDFs", "*.pdf", SearchOption.AllDirectories)Bu, iç içe geçmiş klasörlerdeki dosyaların da dahil edilmesini sağlar, her dosyanın mutlak yolunu alır ve yaklaşımı çeşitli senaryolar için uyarlanabilir hale getirir.
Pratik Kullanım Durumları
Bir Dizinden PDF Dosyalarını Toplama ve İşleme
Örnek: İşleme İçin Tüm PDF Dosyalarını Yükleme
Directory.GetFiles kullanarak, bir dizindeki tüm PDF dosyalarını geçebilir ve IronPDF ile işleyebilirsiniz:
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
Bu örnek, işlemek için bir dizinden birden fazla PDF yüklemeyi gösterir. Yüklendikten sonra, metin çıkarma, not ekleme veya içeriklerine dayalı yeni PDF'ler oluşturma gibi çeşitli işlemler gerçekleştirebilirsiniz.
Arama Modelleri Kullanarak Dosyaları Filtreleme
Örnek: İsim veya Tarihe Göre PDF'leri Seçme
Directory.GetFiles ile birlikte LINQ kullanarak, oluşturulma veya değişiklik tarihi gibi kriterlere göre dosyaları filtreleyebilirsiniz:
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
Bu yaklaşım, sadece ilgili dosyaların işlenmesini sağlar, zaman ve hesaplama kaynaklarını tasarruf eder. Örneğin, bu yöntemi sadece geçen hafta içinde oluşturulan son faturaları veya raporları işlemek için kullanabilirsiniz.
IronPDF ve Directory.GetFiles ile Toplu İşlemler
Örnek: Birden Fazla PDF'yi Eklemek
Bir dizinden birden fazla PDF'yi tek bir dosyada birleştirebilirsiniz:
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!")
Bu yaklaşım, konsolide raporlar oluşturmak, birden fazla belgeyi arşivlemek veya sunumlar hazırlamak için özellikle kullanışlıdır. Bu süreci otomatikleştirerek, büyük dosya koleksiyonlarını kolaylıkla yönetebilirsiniz.
Adım Adım Uygulama
Proje Kurulumu
Kod Parçası: IronPDF'nin Başlatılması ve PDF Dosyaları ile Çalışma
IronPDF'nin Directory.GetFiles ile nasıl kullanılarak PDF belgelerini yükleyip işleyebileceğinizi gösteren kod:
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 ClassKonsol Çıkışı

Açıklama
Bu kod, IronPDF'yi C#'ta kullanarak belirtilen bir dizindeki tüm PDF dosyalarına bir metin açıklaması eklemeyi gösterir. Program, sağlanan klasörden tüm PDF dosya yollarını almak için Directory.GetFiles yöntemini kullanarak başlar; bu yöntem dizini belirlemek için bir string yoluna dayanır ve dosya uzantısına göre filtreleme yapmayı destekler, ".pdf" uzantısına sahip tüm PDF dosyalarının yollarını içeren bir string dosya adları dizisi döndürür.
Sonra, kod 200x200 boyutlarında bir PdfDocument nesnesi (pdfAppend) başlatır, ancak bu spesifik örnek direkt olarak döngüde kullanılmaz. Ardından, (50, 50) koordinatlarında "IronPDF Tarafından İşlendi" metni olan bir TextAnnotation oluşturur. Bu açıklama her PDF dosyasına eklenecektir.
Foreach döngüsünde, program pdfFiles dizisindeki her bir dosya yolunda yinelemeler yapar. Her dosya için, PDF'yi PdfDocument.FromFile(file) kullanarak yükler, önceden oluşturulan açıklamayı PDF'nin Annotations koleksiyonuna ekler ve ardından güncellenmiş PDF'yi pdf.SaveAs(file) kullanarak mutlak yoluna geri kaydeder.
Bu süreç, belirtilen dizindeki her PDF'nin aynı açıklamayı almasını ve açıklamanın dahil edilerek kaydedilmesini sağlar.
Performans İpuçları ve En İyi Uygulamalar
Directory.GetFiles ile Dosya Almayı Optimize Etmek
Büyük dizinlerde daha iyi performans için Directory.EnumerateFiles gibi asenkron yöntemleri kullanın.
Çok Sayıda Dosyayı Etkin Bir Şekilde Yönetmek
Bellek tüketimini azaltmak için dosyaları daha küçük gruplar halinde işleyin:
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 batchDosya İşleme ve PDF Üretiminde Hata Yönetimi
İstisnaları ele almak için dosya işlemeyi bir try-catch bloğuna sarın:
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 TrySonuç
Directory.GetFiles gücünü IronPDF ile birleştirmek, geliştiricilerin PDF dosyalarını verimli bir şekilde yönetmelerine ve işlemelerine olanak tanır. Bu yaklaşımla, toplu işleme, birleştirme, filtreleme ve PDF'leri dönüştürme gibi görevleri sorunsuz hale getirerek manuel çabaları önemli ölçüde azaltır ve verimliliği arttırır. IronPDF'nin gelişmiş özelliklerini kullanarak, başlık ekleme, meta veri ekleme ve stil oluşturma gibi profesyonel PDF belgeleri oluşturabilir ve gereksinimlerinize uygun şekilde yüksek kaliteli belgeler üretebilirsiniz.
Bu kılavuzda, IronPDF ile PDF'leri almak ve işlemek için Directory.GetFiles kullanmayı nasıl keşfettiğimizi inceledik. Bir projeyi kurmaktan pratik kullanım örnekleri uygulamaya kadar, gerçek dünya senaryolarına uygulanabilecek temel teknikleri ele aldık. İster belge iş akışlarını otomatikleştirmeye çalışıyor olun ister .NET uygulamalarınızın işlevselliğini geliştiriyor olun, bu kombinasyon sağlam ve ölçeklenebilir bir çözüm sunar.
IronPDF'ye daha derinlemesine dalmaya ve gelişmiş özellikleri keşfetmeye hazır olduğunuzda, resmi belgelere göz atmayı düşünün, böylece kütüphaneyi kendi projelerinizde test edebilirsiniz.

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.
İlgili Makaleler


