Cómo desbloquear y exportar grandes archivos de documentos
Arquivando y digitalizando grandes colecciones de imágenes escaneadas se daña sin automatización. Aspose.Imaging para .NET simplifica el proceso entero—trabajando archivos con miles de ficheros, despejando, y exportándolos en gran cantidad, con robusto logging de errores y gestión de salida.
Problemas del mundo real
Las organizaciones necesitan soluciones totalmente automatizadas para proyectos de digitalización de negocios, legales, históricos o científicos.
Revisión de Soluciones
Utilice un script recursivo para procesar cada imagen apoyada en todos los subfolders, log resultados y exportación en los formatos deseados - sin intervención humana.
Prerequisitos
- Visual Studio 2019 o más tarde
- .NET 6.0 o posterior (o .Net Framework 4.6.2+)
- Aspose.Imaging para .NET de NuGet
- Archivo de fuente (local, red o en la nube)
PM> Install-Package Aspose.Imaging
Implementación paso a paso
Paso 1: Recursivamente encontrar todos los archivos de imagen
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();
Paso 2: Batch Deskew y Exportación con el manejo de errores
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);
Paso 3: Calendario y monitoreo
Configure como un trabajo de Task Scheduler de Windows o similar para ejecutar nuevas escaneas automáticamente.
Usar Casos y Aplicaciones
- Archivos de negocios/legales (contratos, ficheros de caso)
- Biblioteca y digitalización histórica
- Colecciones de imágenes científicas o de investigación
- Proyectos de escaneamiento para el cumplimiento o la auditoría
Desafíos y soluciones comunes
** Interrupciones de red: ** Procesar copias locales y resync, o log y retrio.
Largos o corruptos ficheros: Log, saltar y revisar los artículos fallidos por separado.
Formatos de archivo mixtos: Filtrar o normalizar durante el procesamiento.
Mejores Prácticas
- Mantener los registros para la rastreabilidad
- Backup de los originales antes del procesamiento
- Test en pequeñas batallas antes de archivo completo
FAQ
**Q: ¿Puedo procesar millones de archivos?**A: Sí - escala por dividir trabajos, correr en paralelo, o chunking carpetas.
**Q: ¿Puedo usar esto con discos de red o mapas en la nube?**A: Sí, siempre que el disco sea accesible al guión.
**Q: ¿Cómo puedo mantener el trabajo en los nuevos archivos?**A: Utilice Task Scheduler o una herramienta de integración continua.
Conclusión
Con Aspose.Imaging para .NET, incluso los archivos más grandes se pueden descifrar y exportar automáticamente. Aspose.Imaging para .NET API Referencia .