Hvordan å automatisere avkjøp og eksport av store dokumentarkiv
Aspose.Imaging for .NET strømlinjerer hele prosessen – håndtere mapper med tusenvis av filer, dekke, og eksportere dem i stor mengde, med robust feil logging og utgangsstyring.
Real-verdens problem
Organisasjoner trenger fullt automatiserte løsninger for forretnings-, juridiske, historiske eller vitenskapelige digitaliseringsprojekter.
Oversikt over løsning
Bruk en recursiv batch-skript for å behandle hvert støttet bilde i alle subfoldere, loggresultater og eksport i de ønskede formatene – uten menneskelig inngrep.
Prerequisites
- Visual Studio 2019 eller senere
- .NET 6.0 eller nyere (eller .Net Framework 4.6.2+)
- Aspose.Imaging for .NET fra NuGet
- Kildearkiv mappe (lokal, nettverk, eller sky-mapped)
PM> Install-Package Aspose.Imaging
Step-by-step implementering
Steg 1: Fortsett å finne alle bildefiler
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 og eksport med feil håndtering
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);
Trinn 3: Planlegging og overvåking
Sett opp som en Windows Task Scheduler jobb eller lignende for å kjøre på nye skanninger automatisk.
Bruker tilfeller og applikasjoner
- Forretnings- og juridiske arkiver (kontrakter, tilfellefiler)
- Biblioteket og historisk digitalisering
- Vitenskapelig eller forskningsbilde samlinger
- Ongoing skanning prosjekter for overholdelse eller revision
Vanlige utfordringer og løsninger
Nettverksforstyrrelser: Behandle lokale kopier og resync, eller logg og tilbakemelding.
Lange eller korrupte filer: Log, skip og gjennomgå mislykkede elementer separat.
Mixed file formater: Filtrere eller normalisere under behandlingen.
Beste praksis
- Lag logg for sporbarhet
- Kopiering av originalene før behandling
- Test på små batcher før full arkiv
FAQ
**Q: Kan jeg behandle millioner av filer?**A: Ja – skala ved å splitte arbeidsplasser, kjøre i parallell, eller chunking mapper.
**Q: Kan jeg bruke dette med nettverksdrivere eller sky-mappede mapper?**A: Ja, så lenge enheten er tilgjengelig for skriptet.
**Q: Hvordan holder jeg jobben i gang på nye filer?**A: Bruk Task Scheduler eller et kontinuerlig integrasjonsverktøy.
Conclusion
Med Aspose.Imaging for .NET, kan selv de største arkivene avkjøres og eksporteres automatisk. for mer om skala eller tilpasse arbeidsflyter, se Aspose.Imaging for .NET API Referanse .