.NET で複数のフォルダーから写真アルバムのバッチ作成を自動化する方法

.NET で複数のフォルダーから写真アルバムのバッチ作成を自動化する方法

多くのフォルダーから写真アルバムを作成する自動化は、時間を節約し、エラーを減らします. Aspose.Imaging for .NET では、画像の各バットに複数のページの TIFF アルビムを生成するのは簡単です - 通常のイベント、プロジェクト、またはアーカイブのニーズに最適です。

現実世界問題

各プロジェクト、イベント、または画像のパッチのためのアルバムを手動で作成することは、特にボリュームが高く、新しいフォルダーが定期的に到着する場合、退屈でエラーに耐えられます。

ソリューション概要

プロセスを自動化して、各サブフォルダーを通してロープし、それぞれのバッチのための別々の複数ページのTIFFアルバムを生成し、1つのスクリプトですべて。

原則

  • Visual Studio 2019 以降
  • .NET 6.0 またはそれ以降(または .Net Framework 4.6.2+)
  • Aspose.Imaging for .NET から NuGet
  • イメージセットのサブフォルダーを含むルートディレクトリ
PM> Install-Package Aspose.Imaging

ステップ・ステップ・実施

ステップ1:フォルダーと出力構造を設定する

画像を整理する:各アルバムは、ルートディレクトリの下で独自のサブフォルダーを取得します。

string rootDir = "./albums";
string outputDir = "./output_albums";
Directory.CreateDirectory(outputDir);
var albumFolders = Directory.GetDirectories(rootDir);

ステップ2:フォルダーを通して走り、それぞれのアルバムを作成する

using Aspose.Imaging;
using Aspose.Imaging.ImageOptions;
using Aspose.Imaging.FileFormats.Tiff.Enums;

foreach (var folder in albumFolders)
{
    string[] files = Directory.GetFiles(folder, "*.jpg"); // Or *.png, *.bmp, etc.
    if (files.Length == 0) continue; // Skip empty folders

    var images = files.Select(f => Image.Load(f)).ToList();
    var tiffOptions = new TiffOptions(TiffExpectedFormat.Default)
    {
        Compression = TiffCompressions.Lzw
    };
    string albumName = Path.GetFileName(folder);
    string albumPath = Path.Combine(outputDir, albumName + ".tiff");

    using (var album = Image.Create(tiffOptions, images[0].Width, images[0].Height, false))
    {
        var graphics = new Aspose.Imaging.Graphics(album);
        graphics.DrawImage(images[0], 0, 0, images[0].Width, images[0].Height);

        for (int i = 1; i < images.Count; i++)
        {
            album.AddPage(images[i]);
        }
        album.Save(albumPath);
    }
    images.ForEach(img => img.Dispose());
}

ステップ3:進歩とエラーを記録する

どのアルバムが作成されたかを追跡し、欠けているか腐敗した画像のために失われたフォルダーを記録します。

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

  • イベント写真家各イベントのバッチ・エクスポートアルバム
  • 週間・月間プロジェクト文書及びアーカイブ
  • 各部門の自動遵守/写真報告

共通の課題と解決策

** いくつかのフォルダーは空っぽです:** コードでそのフォーダーを削除します。

Long image sets slow down processing: 追加前に画像をリサイクルまたは圧縮することによって最適化します。

腐敗したファイルによるエラー: ログエアと信頼性のために次のアルバムを継続します。

ベストプラクティス

  • フォルダーと出力アルバムのための明確な名称を使用する
  • 新しい写真が追加された後に実行するスクリプトをスケジュールする
  • バッチ処理前にオリジナルを復元

FAQ

**Q:これをDICOMアルバムや特別フォーマットに使用できますか?**A: はい - 必要に応じて TiffOptions と Dicom Options を置き換える。

Q:アルバムサイズやレイアウトをカスタマイズするにはどうすればよいですか?A: 追加する前に画像を事前に処理するか、標準化するためにリサイクル論理を追加します。

**Q:バッチが完了したときに通知を自動化できますか?**A: あなたのワークフローにメールまたはログの統合を追加します。

結論

Aspose.Imaging for .NET では、複数のフォルダーからバッチアルバムの作成が完全に自動化され、信頼性が高く、スケール可能です。 Aspose.Imaging for .NET API リファレンス .

 日本語