Как автоматизировать раскрытие и экспорт крупных архивных документов

Как автоматизировать раскрытие и экспорт крупных архивных документов

Архивирование и цифровизация больших коллекций сканированных изображений происходит без автоматизации. Aspose.Imaging для .NET упрощает весь процесс — обработка папок с тысячами файлов, отключение и экспорт их в массе, с прочным логгированием ошибок и управлением выходами.

Реальные мировые проблемы

Организации нуждаются в полностью автоматизированных решениях для деловых, юридических, исторических или научных проектов цифровизации.

Решение обзор

Используйте рекурсивный скрипт для обработки каждого поддерживаемого изображения во всех подполках, результатах журнала и экспорта в желаемых форматах — без человеческого вмешательства.

Предупреждения

  • Visual Studio 2019 или позднее
  • .NET 6.0 или более поздний (или .Net Framework 4.6.2+)
  • Aspose.Imaging для .NET от NuGet
  • Архивная папка источника (местный, сетевой или облачный)
PM> Install-Package Aspose.Imaging

Step-by-Step реализация

Шаг 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: Загрузка и экспорт с ошибкой обработки

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: Могу ли я обрабатывать миллионы файлов?Ответ: Да — масштабы, разделяя рабочие места, работая параллельно, или бросывая папки.

**П: Могу ли я использовать это с сетевыми дисками или облачными папками?**Ответ: Да, пока диск доступен к сценарию.

**Q: Как я могу сохранить работу на новых файлах?**А: Используйте Программу заданий или инструмент непрерывной интеграции.

Заключение

С Aspose.Imaging для .NET, даже крупнейшие архивы могут быть автоматически выделены и экспортированы. Aspose.Imaging для .NET API Reference .

 Русский