如何自动解除和出口大文件档案
如何自动解除和出口大文件档案
Aspose.Imaging for .NET 简化了整个过程 - 处理文件夹与成千上万的文件,扫描,并将其大量出口,具有强大的错误登录和输出管理。
现实世界问题
组织需要全面自动化解决方案的商业,法律,历史或科学数字化项目。
解决方案概述
使用 recursive batch 脚本处理所有支持的图像,记录结果,并在所需格式出口 - 没有人类干预。
原則
- Visual Studio 2019 或以后
- .NET 6.0 或更高版本(或 .Net Framework 4.6.2+)
- Aspose.Imaging for .NET 来自 NuGet
- 源档案文件夹(本地、网络或云地图)
PM> Install-Package Aspose.Imaging
步骤实施
步骤1:重复查找所有图像文件
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:Batch Deskew和Export 与错误处理
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:时间表和监测
设置为 Windows Task Scheduler 工作或类似,以自动在新扫描上运行。
使用案例和应用程序
- 商业/法律档案(合同、案例文件)
- 图书馆与历史数字化
- 科学或研究图像集合
- 未经审查的遵守或审计项目
共同挑战与解决方案
** 网络中断:** 处理本地复制和再生,或登录和退出。
** 长或腐烂的文件:** 单独登录、滑动和审查失败的项目。
** 混合文件格式:** 在处理过程中过滤或正常化。
最佳实践
- 保持跟踪的记录
- 处理前备份原件
- 在完整档案之前测试小组
FAQ
Q:我可以处理数百万个文件吗?A:是的 - 通过分割工作,平行运行,或切割文件夹的规模。
**Q:我可以使用网络驱动器或云地图文件夹吗?**答:是的,只要驱动器可访问脚本。
Q:如何在新文件上保持工作运行?**答:使用任务日程表或连续集成工具。
结论
使用 Aspose.Imaging for .NET,即使是最大的档案也可以自动拆卸和出口。 Aspose.Imaging 为 .NET API 参考 .