画像を .NET で複数ページの TIFF に組み込む方法

画像を .NET で複数ページの TIFF に組み込む方法

スキャン、レシピ、またはドックの大きなバッグをアーカイブまたは共有する必要があるたびに、マルチページのTIFFはまだ王です - 特に従順のために、あるいは古い学校のオフィスに物件を渡すために。

なぜMulti-Page TIFF?

PDFはどこにでもありますが、多くの遺産システムやドキュメントワークフローがあります。 需要 TIFFs (特に医学的または法的記録) あなたは1つのファイル、すべてのページが内側に、フッズはありません。

Go-to 解決策

私はすべてのソース画像(JPG、PNG、古いBMPs)をフォルダーに投げ込んで、このC#スクリプトを実行し、清潔で多ページのTIFFをアップします。

原則

  • Visual Studio 2019+(または単なる .NET CLI)
  • .NET フレームワーク 4.6.2+ (Net Framework 6.6+)
  • Aspose.Imaging for .NET (NuGet は人生を楽にする)
  • 合併するための画像フォルダー
PM> Install-Package Aspose.Imaging

これがMulti-Page TIFFを構築する方法です。

ステップ1:すべての画像を収集

僕は自分の写真を全部取り出した。 ./input フォルダー:

string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.

ステップ2:画像をアップロードし、TIFFの輸出を設定する

var images = files.Select(f => Image.Load(f)).ToList();
var tiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
tiffOptions.Compression = Aspose.Imaging.FileFormats.Tiff.Enums.TiffCompressions.CcittFax4; // good for scans; use Lzw or None for color

ステップ3:すべてのページを単一のTIFFで保存する

string outFile = "./output/merged_multipage.tiff";
using (var tiffImage = Aspose.Imaging.Image.Create(tiffOptions, images[0].Width, images[0].Height, false))
{
    for (int i = 0; i < images.Count; i++)
    {
        var srcImg = images[i];
        // For first page, just draw
        if (i == 0)
        {
            var g = new Aspose.Imaging.Graphics(tiffImage);
            g.DrawImage(srcImg, 0, 0, srcImg.Width, srcImg.Height);
        }
        else
        {
            // Add a new page for each image
            tiffImage.AddPage(srcImg);
        }
    }
    tiffImage.Save(outFile);
}
images.ForEach(img => img.Dispose());

ステップ4:衛生検査とトラブル解決

  • IrfanView、Photoshop、またはWindows PhotosでTIFFを開きます。
  • ブラック/ホワイトページを取得する場合は、画像形式と色の深さをチェックします。

ステップ5:ボーナスツイク

  • Change CompressionLzw 色のドックや、 None 損失のため
  • バッチワークの場合、上記のコードを複数のフォルダーのロープに挿入します。
  • 機械が操作できる場合は、同時に多くのファイルを開かないでください!

何が私を時々揺るがすのか。

  • ファイルの注文: ファイルが表示されるように名付けられ、または分類されていることを確認します。
  • Weird形式: いくつかの稀な形式は、まずPNG/JPGに変換する必要があります。
  • 大ファイル: 大バッチまたは高レースページ = 大きなメモリ; 必要に応じて小さなパーツで処理

プロヒント

  • I keep my source images backed up — once you merge, you can’t “un-bake” them easily. 私は私のソース画像をサポートしています。
  • 遵守のために、一般的な圧縮に固執する(Lzw、Fax4)
  • 出力 TIFF (日付、プロジェクトなど) の明確な名称を使用します。

FAQ

Q:色と灰色の画像を組み合わせることができますか?A: はい、しかし、出力をチェックする - ページが根本的に異なる場合、TIFFは奇妙かもしれません。

Q:これを毎回アップロードするためにどのように自動化しますか?**A:この論理をウォーチャーまたは予定された仕事に埋め込む - .NET タスクまたは Windows サービスで簡単

Q: OCR や検索可能な TIFF はどうですか?**A: OCR ステップ(Aspose.OCR または類似)を必要とし、検索可能なテキストが必要な場合に合併する前に/後に

結論

複数のページのTIFFは痛みを引き起こす必要はありません. .NET とシンプルなスクリプトのための Aspose.Imaging を使用すると、あなたは数分で適切でアーカイブ可能で共有可能な TifF にメッシー フォルダーから移動することができます. このアプローチは私に時間を節約しました - 私はそれを信頼します。

See Aspose.Imaging for .NET API リファレンス より多くのTIFF、バッチ、およびマルチページのヒントのために。

 日本語