Comment automatiser la détection et l'exportation de grands archives de documents

Comment automatiser la détection et l'exportation de grands archives de documents

L’archivage et la numérisation de grandes collections d’images scannés se déroule sans automatisation. Aspose.Imaging pour .NET simplifie l’ensemble du processus - traiter des dossiers avec des milliers de fichiers, les décomposer et les exporter en masse, avec un logement robuste de erreurs et une gestion de sortie.

Problème du monde réel

Les organisations ont besoin de solutions entièrement automatisées pour les projets de numérisation commerciale, juridique, historique ou scientifique.

Vue de la solution

Utilisez un scénario recursif pour traiter chaque image soutenue dans tous les sous-follers, les résultats du log et l’exportation dans les formats souhaités – sans intervention humaine.

Principaux

  • Visual Studio 2019 ou ultérieur
  • .NET 6.0 ou ultérieur (ou .Net Framework 4.6.2+)
  • Aspose.Imaging pour .NET de NuGet
  • Fiche d’archive source (locale, réseau ou en nuage)
PM> Install-Package Aspose.Imaging

La mise en œuvre étape par étape

Étape 1 : Trouver tous les fichiers d’image

string rootDir = "./archive_input";
string outputDir = "./archive_output";
Directory.CreateDirectory(outputDir);

// All supported types: jpg, png, tif, bmp, gif, etc.
var files = Directory.GetFiles(rootDir, "*.*", SearchOption.AllDirectories)
    .Where(f => f.EndsWith(".jpg", StringComparison.OrdinalIgnoreCase)
             || f.EndsWith(".jpeg", StringComparison.OrdinalIgnoreCase)
             || f.EndsWith(".png", StringComparison.OrdinalIgnoreCase)
             || f.EndsWith(".tif", StringComparison.OrdinalIgnoreCase)
             || f.EndsWith(".tiff", StringComparison.OrdinalIgnoreCase)
             || f.EndsWith(".bmp", StringComparison.OrdinalIgnoreCase)
             || f.EndsWith(".gif", StringComparison.OrdinalIgnoreCase))
    .ToArray();

Étape 2 : Déploiement et exportation avec traitement d’erreur

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;

List<string> failedFiles = new List<string>();
foreach (var file in files)
{
    try
    {
        using (var image = (RasterImage)Image.Load(file))
        {
            image.NormalizeAngle(false, Color.White);
            string relPath = Path.GetRelativePath(rootDir, file);
            string outPath = Path.Combine(outputDir, relPath);
            Directory.CreateDirectory(Path.GetDirectoryName(outPath));
            image.Save(outPath, new TiffOptions(TiffExpectedFormat.Default));
        }
    }
    catch (Exception ex)
    {
        failedFiles.Add($"{file}: {ex.Message}");
    }
}

// Save log for failed files
File.WriteAllLines(Path.Combine(outputDir, "deskew_failed_files.log"), failedFiles);

Étape 3 : Calendrier et évaluation

Configurez-vous comme un travail Windows Task Scheduler ou similaire pour exécuter sur de nouvelles scans automatiquement.

Utiliser les cas et les applications

  • Archives commerciales / juridiques (contracts, fichiers de cas)
  • Bibliothèque et numérisation historique
  • Collections d’images scientifiques ou de recherche
  • Enregistrer des projets de scan pour la conformité ou l’audit

Défis communs et solutions

** Interruptions réseau: ** Traitement des copies locales et resync, ou log et retrait.

Fichiers longs ou corrompus: Enregistrer, échapper et réviser les éléments échoués séparément.

** Formats de fichier mélangés: ** Filtrer ou normaliser pendant le traitement.

Migliori pratiche

  • Gardez des logs pour la traçabilité
  • Backup des originaux avant le traitement
  • Test sur les petits lots avant l’archive complète

FAQ

**Q : Puis-je traiter des millions de fichiers ?**A: Oui — échelle en divisant les emplois, en fonctionnant en parallèle, ou en chunking des dossiers.

**Q: Puis-je l’utiliser avec des disques réseau ou des dossiers en nuage ?**A: Oui, tant que le disque est accessible au script.

**Q: Comment puis-je maintenir le travail en cours sur de nouveaux fichiers?**A: Utilisez Task Scheduler ou un outil d’intégration continue.

Conclusion

Avec Aspose.Imaging pour .NET, même les plus grands archives peuvent être déchaînées et exportées automatiquement. Aspose.Imaging pour la référence API .NET .

 Français