.NET-HILFE

C# Directory.GetFiles (Wie es funktioniert: Ein Leitfaden für Entwickler)

Veröffentlicht 19. Februar 2025
Teilen Sie:

Einführung

C# out-Parameter. Indem diese Funktionalität mit IronPDF kombiniert wird, können Entwickler PDF-Workflows in großem Maßstab automatisieren. Zum Beispiel können Sie Directory.GetFiles verwenden, um alle PDF-Dateien in einem Ordner zu finden und dann in großen Mengen zu verarbeitenIronPDFfür Aufgaben wie das Zusammenführen, Hinzufügen von Anmerkungen oder Erstellen von Berichten. Diese Kombination ermöglicht reibungslose Abläufe, insbesondere beim Umgang mit vielen Dateien im Dateisystem.

Was ist IronPDF?

IronPDFist eine robuste .NET-Bibliothek, die Entwicklern Werkzeuge zur nahtlosen Arbeit mit PDF-Dateien bietet. Mit IronPDF können Sie PDFs mit einfachen, intuitiven Methoden erstellen, bearbeiten, zusammenführen, teilen und manipulieren. Es umfasst leistungsstarke Funktionen wieHTML-zu-PDF-Konvertierung, erweiterte Stile und Metadatenverarbeitung. Für .NET-Entwickler, die an Anwendungen arbeiten, die PDF-Verarbeitung erfordern, ist IronPDF ein unschätzbares Werkzeug, das Arbeitsabläufe rationalisiert und die Produktivität steigert.

Erste Schritte

Installation von IronPDF

NuGet-Paketinstallation

Um zu beginnen, fügen Sie IronPDF über NuGet zu Ihrem Projekt hinzu:

  1. Öffnen Sie Ihr Projekt in Visual Studio.

  2. Gehen Sie zum Tools-Menü und wählen Sie NuGet-Paket-Manager > NuGet-Pakete für die Lösung verwalten.

    1. Suchen Sie nach IronPDF im NuGet-Paket-Manager.

    C# Directory.GetFiles(So funktioniert es: Ein Leitfaden für Entwickler): Abbildung 1

  3. Installieren Sie die neueste Version von IronPDF.

    Alternativ können Sie die NuGet-Paket-Manager-Konsole verwenden:

Install-Package IronPdf
Install-Package IronPdf

Grundlagen von Directory.GetFiles in C

Die Directory.GetFiles-Methode ist Teil des System.IO-Namespace und wird verwendet, um Dateinamen aus einem Dateisystem abzurufen. Diese Methode, ein öffentliches statisches String-Mitglied der Directory-Klasse, vereinfacht den Zugriff auf Dateipfade. Zum Beispiel:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf");

Dieses Snippet ruft alle PDF-Dateien im aktuellen Verzeichnis ab. Indem Sie diese Methode mit IronPDF kombinieren, können Sie automatisierte Lösungen zur Verarbeitung mehrerer Dateien gleichzeitig erstellen. Sie können auch ein angegebenes Suchmuster anwenden, das als Zeichenfolgenmuster definiert ist, um Dateien basierend auf ihren Erweiterungen oder Namen zu filtern.

Sie können Ihre Dateiabruflogik weiter verfeinern, indem Sie Suchoptionen angeben, wie zum Beispiel das Einschließen von Unterverzeichnissen in die Suche:

string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories);
string[] pdfFiles = Directory.GetFiles("C:\\Documents\\PDFs", "*.pdf", SearchOption.AllDirectories);

Dies stellt sicher, dass Dateien in verschachtelten Ordnern ebenfalls einbezogen werden, indem der absolute Pfad jeder Datei abgerufen wird, was den Ansatz vielseitig für verschiedene Szenarien macht.

Praktische Anwendungsfälle

Abruf und Verarbeitung von PDF-Dateien aus einem Verzeichnis

Beispiel: Laden aller PDF-Dateien zur Verarbeitung

Mit Directory.GetFiles können Sie alle PDF-Dateien in einem Verzeichnis durchlaufen und mit IronPDF verarbeiten:

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(Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 2

Dieses Beispiel zeigt, wie mehrere PDFs aus einem Verzeichnis zum Verarbeiten geladen werden können. Sobald geladen, können Sie eine Vielzahl von Operationen durchführen, wie z. B. Text extrahieren, Anmerkungen hinzufügen oder neue PDFs basierend auf ihrem Inhalt erstellen.

Dateien mithilfe von Suchmustern filtern

Beispiel: Auswahl von PDFs nach Name oder Datum

Sie können Directory.GetFiles mit LINQ kombinieren, um Dateien basierend auf Kriterien wie Erstellungs- oder Änderungsdatum zu filtern:

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# Directory.GetFiles(So funktioniert es: Ein Leitfaden für Entwickler): Abbildung 3

Dieser Ansatz stellt sicher, dass nur relevante Dateien verarbeitet werden, was Zeit und Rechenressourcen spart. Zum Beispiel könnten Sie diese Methode verwenden, um nur die neuesten Rechnungen oder Berichte zu verarbeiten, die innerhalb der letzten Woche erstellt wurden.

Stapelverarbeitung mit IronPDF und Directory.GetFiles

Beispiel: Zusammenfügen mehrerer PDFs

Sie können mehrere PDFs aus einem Verzeichnis zu einer einzigen Datei zusammenfügen:

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(Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 4

Dieser Ansatz ist besonders nützlich für das Erstellen konsolidierter Berichte, das Archivieren mehrerer Dokumente oder das Vorbereiten von Präsentationen. Durch die Automatisierung dieses Prozesses können Sie große Dateisammlungen mühelos verwalten.

Schritt-für-Schritt-Umsetzung

Einrichten des Projekts

Code-Snippet: Initialisierung von IronPDF und Arbeiten mit PDF-Dateien

Der folgende Code zeigt, wie IronPDF in Verbindung mit Directory.GetFiles verwendet werden kann, um PDF-Dokumente zu laden und zu bearbeiten.

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

Konsolenausgabe

C# Directory.GetFiles(Wie es funktioniert: Ein Leitfaden für Entwickler): Abbildung 5

Erläuterung

Dieser Code zeigt, wie man mit IronPDF in C# eine Textanmerkung zu allen PDF-Dateien in einem bestimmten Verzeichnis hinzufügt. Das Programm beginnt damit, alle PDF-Dateipfade aus dem angegebenen Ordner abzurufen, indem die Methode Directory.GetFiles verwendet wird, die einen Zeichenfolgenpfad zur Angabe des Verzeichnisses nutzt und das Filtern nach Dateierweiterung unterstützt. die ein Array von Dateinamen zurückgibt, das die Pfade aller PDF-Dateien mit der Dateiendung ".pdf" enthält.

Als Nächstes initialisiert der Code ein PdfDocument-Objekt(pdfAppend)mit den Abmessungen 200x200, obwohl diese spezielle Instanz nicht direkt in der Schleife verwendet wird. Es wird dann eine TextAnnotation mit dem Text "Processed by IronPDF" an den Koordinaten erstellt(10, 10). Diese Anmerkung wird zu jeder PDF-Datei hinzugefügt.

Im foreach-Schleife durchläuft das Programm jeden Dateipfad im pdfFiles-Array. Für jede Datei lädt es das PDF mit PdfDocument.FromFile(datei), fügt die zuvor erstellte Anmerkung zur Annotationssammlung des PDFs hinzu und speichert dann das aktualisierte PDF mit pdf.SaveAs zurück in seinen absoluten Pfad(datei).

Dieser Prozess stellt sicher, dass jede PDF-Datei im angegebenen Verzeichnis die gleiche Annotation erhält und mit der Annotation gespeichert wird.

Leistungstipps und bewährte Praktiken

Optimieren der Dateiabfrage mit Directory.GetFiles

Verwenden Sie asynchrone Methoden wie Directory.EnumerateFiles, um eine bessere Leistung bei großen Verzeichnissen zu erzielen.

Effiziente Verwaltung großer Mengen von Dateien

Verarbeite Dateien in kleineren Gruppen, um den Speicherverbrauch zu reduzieren:

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
    }
}

Fehlerbehandlung bei der Dateiverarbeitung und PDF-Erstellung

Verpacken Sie die Dateiverarbeitung in einem try-catch-Block, um Ausnahmen zu behandeln:

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

Schlussfolgerung

Die Kombination der Leistungsfähigkeit von Directory.GetFiles mit IronPDF ermöglicht es Entwicklern, PDF-Dateien effizient im großen Maßstab zu verwalten und zu verarbeiten. Mit diesem Ansatz werden Aufgaben wie Batch-Verarbeitung, Zusammenführen, Filtern und Transformieren von PDFs nahtlos, wodurch der manuelle Aufwand erheblich reduziert und die Produktivität gesteigert wird. Durch die Nutzung der fortschrittlichen Funktionen von IronPDF, einschließlich dem Hinzufügen von Kopfzeilen, Metadaten und Styling, können Entwickler hochwertige, professionelle PDF-Dokumente erstellen, die auf ihre Anforderungen zugeschnitten sind.

In diesem Leitfaden haben wir untersucht, wie Sie Directory.GetFiles verwenden, um PDFs mit IronPDF abzurufen und zu bearbeiten. Von der Einrichtung eines Projekts bis zur Umsetzung praktischer Anwendungsfälle haben wir wesentliche Techniken behandelt, die auf reale Szenarien angewendet werden können. Unabhängig davon, ob Sie an der Automatisierung von Dokumenten-Workflows arbeiten oder die Funktionalität Ihrer .NET-Anwendungen verbessern, bietet diese Kombination eine robuste und skalierbare Lösung.

Wenn Sie bereit sind, tiefer in IronPDF einzutauchen und erweiterte Funktionen zu erforschen, dieoffizielle Dokumentation, sodass Sie die Bibliothek in Ihren eigenen Projekten testen können, bevor Sie sich zu einem Kauf verpflichten.

Jordi Bardia

Jordi Bardia

Software-Ingenieur

 LinkedIn |  Website

Jordi beherrscht vor allem Python, C# und C++. Wenn er seine Fähigkeiten bei Iron Software nicht einsetzt, programmiert er Spiele. Durch seine Mitverantwortung für Produkttests, Produktentwicklung und Forschung trägt Jordi wesentlich zur kontinuierlichen Produktverbesserung bei. Die vielseitigen Erfahrungen, die er sammelt, bieten ihm immer wieder neue Herausforderungen, und er sagt, dass dies einer seiner Lieblingsaspekte bei Iron Software ist. Jordi wuchs in Miami, Florida, auf und studierte Informatik und Statistik an der University of Florida.
NÄCHSTES >
C# Out-Parameter (Wie es funktioniert: Ein Leitfaden für Entwickler)