Görüntüleri .NET'te çok sayfalık bir TIFF'ye nasıl birleştirilir

Görüntüleri .NET'te çok sayfalık bir TIFF'ye nasıl birleştirilir

Arşivlemek ya da büyük bir dizi tarama, kayıt veya doku paylaşmak zorunda olduğum her zaman, çok sayfalık TIFF hala kraldır - özellikle uyumluluk veya eski bir okul ofisine eşyaları teslim etmek için.

Neden Multi-Page TIFF?

PDF’ler her yerde, ancak çok sayıda miras sistemi veya belge çalışma akışları talep TIFF’ler (özellikle tıbbi veya yasal kayıtlar için). Bir dosya istiyorsunuz, tüm sayfalar içeride, fuss yok.

Go-to Çözüm

Tüm kaynak görüntülerimi (JPG, PNG, hatta eski BMPs) bir klasöre atıyorum, bu C# senaryosunu çalıştırıyorum ve temiz, çok sayfalık bir TIFF çıkıyor. her seferinde çalışır - ve ihtiyacım olursa otomatikleştirebilir veya özelleştirebilirim.

Ön koşullar

  • Visual Studio 2019+ (veya sadece .NET CLI)
  • .NET 6.0+ (veya .Net Framework 4.6.2+)
  • Aspose.Imaging için .NET (NuGet hayat kolaylaştırır)
  • Birleştirmek için bir görüntü dosyası
PM> Install-Package Aspose.Imaging

İşte Multi-Page TIFF Nasıl Yapılır

Adım 1: Tüm resimleri toplayın

Sadece tüm resimleri çekiyorum ./input Dosya için:

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

Adım 2: Görüntüleri yükleme ve TIFF ihracatını ayarlayın

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

Adım 3: Tüm sayfaları tek bir TIFF’de kaydedin

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

Adım 4: Sağlık Kontrolü ve Sorun Çözümü

  • IrfanView, Photoshop veya hatta Windows Fotoğraflarında TIFF’yi açın. iyi görünüyorsa, ayarlanmıştır.
  • Eğer siyah/beyaz sayfalar alırsanız: görüntü biçimlerini ve renk derinliklerini kontrol edin.

Adım 5: Bonus Tweaks

  • Change Compression için Lzw renkler için veya None Kayıp için
  • Çerçeve işleri için, yukarıdaki kodu çok sayıda klasör için bir yuva içine dökün
  • Makineniz bunu işleyebilirse eşleştirin – sadece çok fazla dosyayı tek seferde açmayın!

Beni Bazen Yükseltir

  • ** Dosya siparişi:** Dosyalarınızın görünmesini istediğiniz gibi adlandırıldığı veya sıralanmış olduğundan emin olun
  • Weird biçimleri: Bazı nadir biçimler öncelikle PNG/JPG’ye dönüştürülmelidir
  • Büyük dosyalar: Büyük paketler veya yüksek boyutlu sayfalar = büyük hafıza; gerekirse daha küçük parçalarda işleme

Pro Tipleri

  • Kaynak resimlerimi saklı tutuyorum – bir kez birleştiğinizde, onları kolayca “bir paketleme” yapamazsınız.
  • Uyumluluk için, ortak sıkıştırmalara uymak (Lzw, Fax4)
  • Çıkış TIFF’leriniz için açık bir isim kullanın (tarih, proje vb.)

FAQ Hakkında

**Q: Renk ve gri boyalı resimleri birleştirebilir miyim?**A: Evet, ancak çıkışını kontrol edin - sayfalar radikal olarak farklı ise TIFF’ler garip olabilir

**Q: Her yükleme için bunu nasıl otomatikleştiririm?**A: Bu mantığı bir gözlemci veya planlanan işe yerleştirin - .NET görevleri veya Windows hizmetleri ile kolay

**Q: OCR veya arama yapılabilir TIFF’ler ne olacak?**A: Arama yapılabilir metin ihtiyacınız varsa bir OCR adımına (Aspose.OCR veya benzeri) ihtiyaç duyacaksınız.

Sonuç

Çok sayfalık TIFF’ler acı çekmemelidir. .NET ve basit bir senaryo için Aspose.Imaging ile, dakikalar içinde uyumlu, arşivlenebilir ve paylaşılabilir Tiff’lere gidebilirsiniz.Bu yaklaşım bana saatler kazandırdı - ve her seferinde buna güveniyorum.

See Aspose.Imaging için .NET API Referans Daha fazla TIFF, batch ve çok sayfa ipuçları için.

 Türkçe