Как да автоматизирате изтеглянето и износа на големи архиви за документи

Как да автоматизирате изтеглянето и износа на големи архиви за документи

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

Реални световни проблеми

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

Преглед на решението

Използвайте рецидивиращ скрипт, за да обработвате всяка подкрепена картина във всички подложки, резултати от записи и износ в желаните формати – без човешка намеса.

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

  • Visual Studio 2019 или по-късно
  • .NET 6.0 или по-късно (или .Net Framework 4.6.2+)
  • Aspose.Imaging за .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: Изтегляне и експорт с грешка обработка

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: Да – скала чрез разделяне на работни места, изпълнение паралелно, или пробиване на папки.

**П: Мога ли да го използвам с мрежови дискове или с облачни папки?**A: Да, докато дискът е достъпен до скрипта.

Q: Как да поддържам работата на нови файлове?**A: Използвайте Task Scheduler или инструмент за непрекъснато интегриране.

заключение

С Aspose.Imaging за .NET, дори и най-големите архиви могат да бъдат изхвърлени и изнесени автоматично.За повече информация за скалиране или персонализиране на работните потоци, вижте Aspose.Imaging за .NET API референтност .

 Български