大型ドキュメントアーカイブのデッキングおよび輸出を自動化する方法

大型ドキュメントアーカイブのデッキングおよび輸出を自動化する方法

Aspose.Imaging for .NET は、プロセス全体を簡素化します - 数千のファイルを含むフォルダーを処理し、それらを大量に、強力なエラーログと出力管理を備え、デッキング、および輸出します。

現実世界問題

組織は、ビジネス、法的、歴史的または科学的デジタル化プロジェクトのための完全に自動化されたソリューションが必要です。

ソリューション概要

リクルシブバッチスクリプトを使用して、すべてのサブフォルダー、ログ結果、および望ましいフォーマットでエクスポートするためにサポートされている画像を処理します - 人間の介入なし。

原則

  • 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:バッチデッキとエクスポートエラー処理

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 タスクスケジュールとして設定するか、新しいスキャンで自動的に実行するような作業。

ケースとアプリケーションの使用

  • ビジネス/法的アーカイブ(契約、ケースファイル)
  • 図書館と歴史的デジタル化
  • 科学的または研究イメージコレクション
  • 遵守又は監査のためのスキャンプロジェクトを無効にする

共通の課題と解決策

ネットワーク中断: ローカルコピーおよびリシンク、またはログとリトリを処理します。

長いまたは腐ったファイル: ログ、スカップ、および失敗したアイテムを別々にレビューします。

混合ファイル形式: 処理中にフィルターまたは正常化します。

ベストプラクティス

  • トラッキングのためのロゴを保持する
  • 処理前にオリジナルのバックアップ
  • 完全なアーカイブの前に小さなバッチでテスト

FAQ

Q:数百万のファイルを処理できますか?A: はい - 仕事を分割したり、並行で走ったり、フォルダーを切ったりすることによってスケール。

**Q:ネットワークドライブやクラウドマップされたフォルダーでこれを使用できますか?**A:はい、ドライブがスクリプトにアクセスできる限り。

Q:新しいファイルで仕事を続けるにはどうすればよいですか?**A:タスクスケジュールまたは継続的な統合ツールを使用します。

結論

.NET のための Aspose.Imaging を使用すると、最大のアーカイブでも自動的にデッキアップおよび輸出することができます。 Aspose.Imaging for .NET API リファレンス .

 日本語