Com automatitzar el descobriment i l'exportació d'arxius de documents grans

Com automatitzar el descobriment i l'exportació d'arxius de documents grans

L’arxiu i la digitalització de grans col·leccions d’imatges escanejades s’aconsegueix sense automatització. Aspose.Imaging per a .NET simplifica tot el procés: tractar mapes amb milers de fitxers, despejar i exportar-les en gran quantitat, amb robust logging error i gestió de sortides.

El problema del món real

Les organitzacions necessiten solucions completament automatitzades per a projectes de digitalització empresarial, jurídic, històric o científic.

Revisió de solucions

Utilitzeu un guió recursiva per processar cada imatge recolzada en tots els subfolders, els resultats del log i l’exportació en els formats desitjats - sense intervenció humana.

Prerequisits

  • Visual Studio 2019 o posterior
  • .NET 6.0 o posterior (o .Net Framework 4.6.2+)
  • Aspose.Imaging per a .NET des de NuGet
  • Fòrum d’arxiu de font (local, xarxa o mapa en núvol)
PM> Install-Package Aspose.Imaging

Implementació de pas a pas

Pas 1: Recursivament trobar tots els fitxers d’imatge

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

Pas 2: Batch Deskew i Exportació amb el tractament d’errors

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

Etapa 3: Calendari i monitoratge

Establir com una tasca de programació de tasques de Windows o similar per executar automàticament les noves escanades.

Utilitzar casos i aplicacions

  • Arxius empresarials/legals (contractes, fitxers de cas)
  • Biblioteca i digitalització històrica
  • Col·leccions d’imatges científics o de recerca
  • Projectes d’escaneig per a la conformitat o auditoria

Els reptes i les solucions comunes

** Interrupcions de la xarxa: ** Processar còpies locals i resync, o log i retre.

**Arxius llargs o corromputs: **Log, skip i revisar els elements fallits de forma separada.

**Formats de fitxers mixtes: **Filtre o normalitzar durant el processament.

Les millors pràctiques

  • Mantenir registres per a la traçabilitat
  • Backup d’originals abans del processament
  • Prova en petites batxes abans de l’arxiu complet

FAQ

**Q: Puc processar milions de fitxers?**A: Sí - escala dividint llocs de treball, executant en paral·lel, o xuntant mapes.

**Q: Puc utilitzar-ho amb discos de xarxa o mapes en núvol?**A: Sí, sempre que el disc sigui accessible al guió.

**Q: Com puc mantenir el treball en els nous arxius?**A: Utilitza Task Scheduler o una eina d’integració contínua.

Conclusió

Amb Aspose.Imaging per a .NET, fins i tot els arxius més grans es poden descanviar i exportar automàticament. Aspose.Imaging per a .NET API Referència .

 Català