Kako automatizirati otvaranje i izvoz velikih arhiva dokumenata

Kako automatizirati otvaranje i izvoz velikih arhiva dokumenata

Aspose.Imaging za .NET ubrzava cijeli proces – rukovanje dosjeima s tisućama datoteka, iskopavanje i izvoz ih u mnoštvu, sa snažnim logiranjem pogrešaka i upravljanjem izlaskom.

Real-svjetski problem

Ručno isporučivanje i izvoz velikih arhiva nije skalabilan. organizacije trebaju potpuno automatizirane rješenja za poslovne, zakonske, povijesne ili znanstvene projekte digitalizacije.

Pregled rješenja

Koristite recursivni skripti za obrađivanje svake podržane slike u svim podfladerima, log rezultatima i izvozu u željene formate – bez ljudske intervencije.

Preduzeća

  • Visual Studio 2019 ili kasnije
  • .NET 6.0 ili noviji (ili .Net Framework 4.6.2+)
  • Aspose.Imaging za .NET od NuGet
  • Izvorni arhivski folder (lokalni, mrežni ili mape u oblaku)
PM> Install-Package Aspose.Imaging

Korak po korak provedba

Korak 1: Ponovno pronađite sve datoteke slike

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

Korak 2: Batch Deskew i izvoz s rukovanjem pogreškom

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

Korak 3: Raspored i nadzor

Sastavite kao Windows Task Scheduler posao ili slično za automatski pokretanje na novim skenama.

Korištenje slučajeva i aplikacija

  • Poslovni/pravni arhivi ( ugovori, slučajevi datoteke)
  • Povijesna knjižnica i digitalizacija
  • Znanstvena ili istraživačka zbirka slika
  • Proizvodnja projekata skeniranja za usklađenost ili reviziju

Zajednički izazovi i rješenja

Network interruptions: Proizvodnja lokalnih kopija i resync, ili log i retry.

Dugim ili korumpiranim datotekama: Prijavite se, preskočite i pregledajte neuspješne predmete odvojeno.

Miksirani formati datoteke: Filter ili normalizirati tijekom obrade.

Najbolje prakse

  • Održavanje logova za tražilicu
  • Kopiranje izvora prije obrade
  • Test na malim udovima prije punog arhiva

FAQ

**Q: Mogu li obrađivati milijune datoteka?**Odgovor: Da – skala razdvajanjem radnih mjesta, u paralelnom razdoblju ili šupljanjem dosjea.

**Q: Mogu li to koristiti s mrežnim pogonima ili mapama u oblaku?**A: Da, sve dok je pogon dostupan za scenarij.

**Q: Kako nastaviti rad na novim datotekama?**A: Koristite Task Scheduler ili alat za kontinuiranu integraciju.

zaključak

Uz Aspose.Imaging za .NET, čak i najveći arhivi mogu se automatski otkloniti i izvoziti. Aspose.Imaging za .NET API reference .

 Hrvatski