Comment filtrer les fichiers avec GroupDocs.Redaction pour .NET

Dans l’environnement numérique actuel en évolution rapide, comment filtrer les fichiers efficacement peut faire ou défaire votre productivité. Que vous ayez besoin d’isoler des documents par extension, date de création, taille ou date de modification, une stratégie de filtrage solide fait gagner du temps, réduit les coûts de stockage et maintient votre index de recherche propre. Dans ce tutoriel, nous parcourrons des exemples concrets utilisant GroupDocs.Redaction pour .NET, vous montrant exactement comment filtrer les fichiers pour répondre aux besoins courants des entreprises.

Réponses rapides

  • Quelle bibliothèque faut‑il ? GroupDocs.Redaction pour .NET (install via NuGet).
  • Puis‑je filtrer par date de création ? Oui – utilisez CreateCreationTimeRange.
  • Comment exclure certains types ? Appliquer un filtre NOT avec DocumentFilter.CreateNot.
  • Le filtrage par taille de fichier est‑il pris en charge ? Absolument, via CreateFileLengthRange ou des limites supérieures/inférieures.
  • Ai‑je besoin d’une licence ? Une version d’essai ou une licence complète est requise pour une utilisation en production.

Qu’est‑ce que le filtrage de fichiers avec GroupDocs.Redaction ?

Le filtrage de fichiers vous permet d’indiquer au moteur d’indexation quels documents inclure ou ignorer en fonction de métadonnées telles que l’extension, les dates, les motifs de chemin ou la taille. En définissant des règles précises de DocumentFilter, vous gardez votre index léger et vos recherches rapides.

Pourquoi utiliser GroupDocs.Redaction pour .NET ?

  • Assistants de filtre intégrés – pas besoin d’écrire du code système personnalisé.
  • Opérateurs logiques – combinez plusieurs critères avec AND, OR et NOT.
  • Optimisé pour les performances – les filtres sont appliqués pendant l’indexation, pas après.
  • Cross‑platform – fonctionne avec .NET Framework, .NET Core et .NET 5/6+.

Prérequis

  • .NET Framework 4.6+ ou .NET Core 3.1+ installé.
  • Visual Studio ou votre IDE C# préféré.
  • Connaissances de base en C#.

Bibliothèques requises et configuration

Installez le package NuGet en utilisant votre méthode préférée :

dotnet add package GroupDocs.Redaction
Install-Package GroupDocs.Redaction

Conseil pro : Après l’installation, ajoutez votre fichier de licence à la racine du projet et appelez License.SetLicense("license-file-path") avant de créer tout objet Redactor ou Index.

Configuration de GroupDocs.Redaction pour .NET

Tout d’abord, créez une instance Redactor qui pointe vers le document que vous souhaitez traiter :

using GroupDocs.Redaction;
// Initialize Redactor with the path to your document.
Redactor redactor = new Redactor("your-document-path");

Pourquoi c’est important : Initialiser le Redactor garantit que la bibliothèque est prête à appliquer des filtres et des règles de rédaction plus tard dans le flux de travail.

Comment filtrer les fichiers par extension

Filtrer par extension de fichier est la méthode la plus courante pour réduire un ensemble de documents. Ci‑dessous, nous ne conservons que les fichiers FB2, EPUB et TXT.

Filtrer par extension de fichier

using GroupDocs.Search;
using GroupDocs.Search.Options;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
// Allow only FB2, EPUB, and TXT files.
DocumentFilter filter = DocumentFilter.CreateFileExtension(".fb2", ".epub", ".txt");
settings.DocumentFilter = filter;

// Create an index with applied filters.
Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment appliquer un filtre NOT pour exclure les types indésirables

Si vous devez appliquer un filtre NOT — par exemple, exclure les fichiers HTML et PDF — utilisez CreateNot.

Exclure les fichiers HTM, HTML et PDF

using GroupDocs.Search;
using GroupDocs.Search.Options;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter excludeFilter = DocumentFilter.CreateFileExtension(".htm", ".html", ".pdf");
DocumentFilter invertedFilter = DocumentFilter.CreateNot(excludeFilter);
settings.DocumentFilter = invertedFilter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment filtrer les fichiers par date de création

Lorsque vous devez filtrer par date de création, spécifiez un DateTime de début et de fin.

Filtrer par plage de dates de création

using GroupDocs.Search;
using GroupDocs.Search.Options;
using System;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateCreationTimeRange(new DateTime(2017, 1, 1), new DateTime(2018, 6, 15));
settings.DocumentFilter = filter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment filtrer les fichiers par date de modification

De même que pour les dates de création, vous pouvez limiter les résultats aux fichiers modifiés avant un certain moment.

Filtrer par date de modification

using GroupDocs.Search;
using GroupDocs.Search.Options;
using System;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateModificationTimeUpperBound(new DateTime(2018, 6, 15));
settings.DocumentFilter = filter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment filtrer les fichiers par chemin à l’aide d’expressions régulières

Si votre structure de dossiers suit des conventions de nommage, une expression régulière peut cibler des chemins spécifiques.

Filtrer par motif de chemin de fichier

using GroupDocs.Search;
using GroupDocs.Search.Options;
using System.Text.RegularExpressions;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateFilePathRegularExpression("Ipsum", RegexOptions.IgnoreCase);
settings.DocumentFilter = filter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment filtrer les fichiers par taille

Contrôler la taille des documents est essentiel lorsqu’on gère la bande passante ou les limites de stockage.

Filtrer par taille de fichier (50 KB – 100 KB)

using GroupDocs.Search;
using GroupDocs.Search.Options;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter filter = DocumentFilter.CreateFileLengthRange(50 * 1024, 100 * 1024);
settings.DocumentFilter = filter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment combiner plusieurs conditions avec AND

Lorsque vous devez filtrer les fichiers en utilisant plusieurs critères à la fois, combinez‑les avec CreateAnd.

Exemple d’AND logique

using GroupDocs.Search;
using GroupDocs.Search.Options;
using System;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter filter1 = DocumentFilter.CreateCreationTimeRange(new DateTime(2015, 1, 1), new DateTime(2016, 1, 1));
DocumentFilter filter2 = DocumentFilter.CreateFileExtension(".txt");
DocumentFilter filter3 = DocumentFilter.CreateFileLengthUpperBound(8 * 1024 * 1024);
DocumentFilter finalFilter = DocumentFilter.CreateAnd(filter1, filter2, filter3);
settings.DocumentFilter = finalFilter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Comment combiner plusieurs conditions avec OR

Utilisez CreateOr lorsque l’une quelconque des plusieurs règles doit être satisfaite.

Exemple d’OR logique

using GroupDocs.Search;
using GroupDocs.Search.Options;

string indexFolder = "YOUR_OUTPUT_DIRECTORY";
string documentsFolder = "YOUR_DOCUMENT_DIRECTORY";

IndexSettings settings = new IndexSettings();
DocumentFilter txtFilter = DocumentFilter.CreateFileExtension(".txt");
DocumentFilter notTxtFilter = DocumentFilter.CreateNot(txtFilter);
DocumentFilter bound5Filter = DocumentFilter.CreateFileLengthUpperBound(5 * 1024 * 1024);
DocumentFilter bound10Filter = DocumentFilter.CreateFileLengthUpperBound(10 * 1024 * 1024);
DocumentFilter txtSizeFilter = DocumentFilter.CreateOr(txtFilter, notTxtFilter, bound5Filter, bound10Filter);
settings.DocumentFilter = txtSizeFilter;

Index index = new Index(indexFolder, settings);
index.Add(documentsFolder);

Problèmes courants et solutions

  • Filtre non appliqué : Assurez‑vous d’assigner settings.DocumentFilter avant de créer l’instance Index.
  • Des fichiers inattendus apparaissent : Vérifiez que les extensions de fichier incluent le point initial (.txt).
  • Ralentissement des performances : Combinez les filtres avec AND pour réduire le nombre de fichiers scannés tôt dans le pipeline d’indexation.
  • Erreurs d’expression régulière : Échappez les caractères spéciaux dans votre motif de chemin ou utilisez RegexOptions.IgnoreCase pour des correspondances insensibles à la casse.

Questions fréquemment posées

Q : Puis‑je combiner un filtre NOT avec un filtre AND ?
R : Oui. Créez d’abord le filtre NOT (DocumentFilter.CreateNot) puis incluez‑le comme l’un des arguments de DocumentFilter.CreateAnd.

Q : Comment filtrer les fichiers de plus de 10 MB ?
R : Utilisez DocumentFilter.CreateFileLengthLowerBound(10 * 1024 * 1024) pour ne retenir que les fichiers dépassant cette taille.

Q : Est‑il possible de filtrer à la fois par dates de création et de modification ?
R : Absolument. Créez chaque filtre séparément et combinez‑les avec CreateAnd.

Q : Ces filtres fonctionnent‑ils avec des chemins de stockage cloud ?
R : Les filtres opèrent sur le système de fichiers local. Pour des sources cloud, téléchargez les fichiers dans un dossier temporaire d’abord, puis appliquez les mêmes filtres.

Q : Le changement de filtre nécessite‑t‑il une nouvelle indexation ?
R : Oui. Les filtres sont évalués lors de l’appel à index.Add. Modifier un filtre implique de reconstruire l’index pour refléter les nouveaux critères.

Conclusion

En maîtrisant comment filtrer les fichiers avec GroupDocs.Redaction pour .NET — que ce soit par extension, date de création, date de modification, taille de fichier ou en utilisant la logique NOT — vous pouvez rationaliser la gestion documentaire, garder vos index performants et vous concentrer sur le contenu réellement important. Expérimentez avec les opérateurs logiques pour adapter le filtrage à vos règles métier précises, et vous constaterez immédiatement des gains en vitesse et en efficacité de stockage.


Dernière mise à jour : 2026-04-21
Testé avec : GroupDocs.Redaction 24.11 pour .NET
Auteur : GroupDocs