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 .