如何自动解除和出口大文件档案

如何自动解除和出口大文件档案

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 参考 .

 中文