Hur man automatiserar upptäckten och exporten av stora dokumentarkiv

Hur man automatiserar upptäckten och exporten av stora dokumentarkiv

Aspose.Imaging för .NET strömmar hela processen – handla mappar med tusentals filer, plocka upp och exportera dem i massor, med robust felloggning och outputhantering.

Realvärldsproblem

Handläggning och export för storskaliga arkiv är inte skalbar. Organisationer behöver fullt automatiserade lösningar för affärs-, juridiska, historiska eller vetenskapliga digitaliseringsprojekt.

Översikt över lösningen

Använd en recursiv batch skript för att bearbeta alla stödda bilder i alla subfolders, loggresultat och export i önskade format – utan mänsklig ingrepp.

förutsättningar

  • Visual Studio 2019 eller senare
  • .NET 6.0 eller senare (eller .Net Framework 4.6.2+)
  • Aspose.Imaging för .NET från NuGet
  • Källarkivmappen (lokal, nätverk eller molnmappad)
PM> Install-Package Aspose.Imaging

Steg för steg genomförande

Steg 1: Upprepa alla bildfiler

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

Steg 2: Batch Deskew och Export med felhantering

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

Steg 3: Schema och övervakning

Ställ in som en Windows Task Scheduler jobb eller liknande att köra på nya skanningar automatiskt.

Använd fall och applikationer

  • Företags/rättsliga arkiv (avtal, fallfiler)
  • Biblioteket och historisk digitalisering
  • Vetenskapliga eller forskningsbildsamlingar
  • Ongoing skanningsprojekt för överensstämmelse eller revision

Gemensamma utmaningar och lösningar

Nätverksavbrott: Processera lokala kopior och resync, eller logg och retry.

Långa eller korrupta filer: Registrera, hoppa och granska misslyckade objekt separat.

Mixed filformat: Filtrera eller normalisera under bearbetningen.

Bästa praxis

  • Håll loggar för spårbarhet
  • Backup original före bearbetning
  • Test på små bitar innan full arkiv

FAQ

**Q: Kan jag bearbeta miljoner filer?**A: Ja – skala genom att dela upp jobb, springa parallellt eller klämma mappar.

**Q: Kan jag använda det här med nätverksskivor eller molnmappade mappar?**A: Ja, så länge enheten är tillgänglig för skriptet.

**Q: Hur håller jag arbetet på nya filer?**A: Använd Task Scheduler eller ett kontinuerligt integrationsverktyg.

slutsatser

Med Aspose.Imaging för .NET kan även de största arkiverna avskjutas och exporteras automatiskt. för mer om skala eller anpassa arbetsflöden, se Aspose.Imaging för .NET API Referens .

 Svenska