Como desbloquear e exportar grandes arquivos de documentos

Como desbloquear e exportar grandes arquivos de documentos

Arquivando e digitalizando grandes coleções de imagens escaneadas é deslumbrante sem automação. Aspose.Imaging para .NET simplifica o processo inteiro – processando folhetos com milhares de arquivos, descobrindo e exportando-os em massa, com robusto logging de erros e gerenciamento de output.

Problemas do mundo real

As organizações precisam de soluções totalmente automatizadas para projetos de digitalização empresarial, jurídico, histórico ou científico.

Solução Overview

Use um script de batch recursivo para processar todas as imagens suportadas em todos os subfolders, resultados de log e exportar nos formatos desejados – sem intervenção humana.

Pré-requisitos

  • Visual Studio 2019 ou posterior
  • .NET 6.0 ou posterior (ou .Net Framework 4.6.2+)
  • Aspose.Imaging para .NET de NuGet
  • Folha de arquivo de origem (local, rede ou em nuvem)
PM> Install-Package Aspose.Imaging

Implementação passo a passo

Passo 1: Encontre recorrentemente todos os arquivos de imagem

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();

Passo 2: Batch Deskew e Exportação com Tratamento de Erros

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);

Passo 3: Programação e Monitorização

Configure-se como um trabalho de programação de tarefas do Windows ou similar para executar novos scans automaticamente.

Use Casos e Aplicações

  • Arquivos empresariais/legais (contratos, arquivos de caso)
  • Biblioteca e digitalização histórica
  • Colecções de imagens científicas ou de pesquisa
  • Projetos de escaneamento para cumprimento ou auditoria

Desafios comuns e soluções

** Interrupções de rede: ** Processar cópias locais e resync, ou log e retry.

** Arquivos longos ou corrompidos:** Log, skip e revisar itens falhados separadamente.

Formatos de arquivo misto: Filtrar ou normalizar durante o processamento.

Melhores Práticas

  • Mantenha logs para rastreabilidade
  • Backup original antes do processamento
  • Teste em pequenas partidas antes do arquivo completo

FAQ

**Q: Posso processar milhões de arquivos?**A: Sim – escala dividindo empregos, executando em paralelo, ou chunking folhas.

**Q: Posso usar isso com drives de rede ou pastas em nuvem?**A: Sim, desde que a unidade seja acessível ao script.

**Q: Como posso manter o trabalho em execução em novos arquivos?**A: Use o Task Scheduler ou uma ferramenta de integração contínua.

Conclusão

Com Aspose.Imaging para .NET, até mesmo os arquivos maiores podem ser despejados e exportados automaticamente. Aspose.Imaging para .NET API Referência .

 Português