Kaip automatiškai išleisti ir eksportuoti didelius dokumentų archyvus

Kaip automatiškai išleisti ir eksportuoti didelius dokumentų archyvus

„Aspose.Imaging for .NET“ supaprastina visą procesą – tvarkyti failus su tūkstančiais failų, ištrinti ir eksportuoti juos dauguma, su tvirtą klaidų įrašo ir išeities valdymu.

Realaus pasaulio problemos

Organizacijos reikalauja visiškai automatizuotų sprendimų verslo, teisinių, istorinių ar mokslinių skaitmeninimo projektams.

Sprendimo apžvalga

Naudokite atnaujintą batch scenarijų, kad apdorotumėte kiekvieną palaikytą vaizdą visais subfolderiais, log rezultatais ir eksportuotume pageidaujamu formatu – be žmogaus įsikišimo.

Prerequisites

  • „Visual Studio 2019“ arba vėliau
  • .NET 6.0 arba naujesnė (arba .Net Framework 4.6.2+)
  • Aspose.Imaging .NET iš NuGet
  • Šaltinis archyvas (vietinis, tinklo ar debesų žemėlapis)
PM> Install-Package Aspose.Imaging

Žingsnis po žingsnio įgyvendinimas

1 žingsnis: pakartotinai rasti visus vaizdo failus

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

2 žingsnis: Batch Deskew ir eksportas su klaidų tvarkymu

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

3 žingsnis: tvarkaraštis ir stebėjimas

Įdiegti kaip “Windows Task Scheduler” darbas arba panašus, kad būtų galima automatiškai paleisti naujus skenavimus.

Naudokite atvejus ir paraiškas

  • Verslo / teisiniai archyvai ( sutartys, bylos failai)
  • Biblioteka ir istorinė skaitmeninimas
  • Mokslinių ar mokslinių tyrimų nuotraukų kolekcijos
  • Skanymo projektai, skirti atitikčiai arba auditui

Bendrieji iššūkiai ir sprendimai

Tinklo pertraukos: Apdoroti vietines kopijas ir resync arba prisijungti ir atšaukti.

Dideli arba sugadinti failai: Įrašyti, perkelti ir peržiūrėti nesėkmingus elementus atskirai.

Mixed failų formatus: Filtruoti arba normalizuoti per apdorojimą.

Geriausios praktikos

  • Laikykite logus, kad būtų galima sekti
  • Originalų atsarginė kopija prieš apdorojimą
  • Išbandykite mažus batus prieš pilną archyvą

FAQ

**Q: Ar galiu apdoroti milijonus failų?**A: Taip – skalė, suskirstydama užduotis, paleidžiant lygiagrečiai arba pjaustydami lapas.

**Q: Ar galiu tai padaryti naudojant tinklo diskus ar debesų žemėlapius?**A: Taip, kol diskas yra prieinamas prie scenarijaus.

**Q: Kaip aš galiu išlaikyti darbą naujuose failuose?**A: Naudokite užduočių tvarkaraštį arba tęstinio integracijos įrankį.

Conclusion

Su Aspose.Imaging .NET, net ir didžiausi archyvai gali būti iškeliami ir eksportuojami automatiškai. Daugiau apie darbo srautų skalavimą ar pritaikymą, žr. Aspose.Imaging .NET API nuoroda .

 Lietuvių