Cum se combină imagini într-un TIFF multi pagini în .NET

Cum se combină imagini într-un TIFF multi pagini în .NET

De fiecare dată când am nevoie să arhivez sau să împărtășesc o mulțime de scanări, recepții sau docuri, TIFF multi-page este încă rege – mai ales pentru conformitate sau pentru a livra lucruri la un birou de școală.

De ce Multi-Page TIFF?

PDF-urile sunt peste tot, dar multe sisteme de moștenire sau fluxuri de lucru pentru documente Cererea TIFF-uri (în special pentru documente medicale sau juridice).Vrei un singur fișier, toate paginile în interior, fără fuss.

Soluția mea Go-to

Am aruncat toate imaginile mele de sursă (JPG, PNG, chiar și vechi BMPs) într-o folderă, executam acest script C# și expun un TIFF curat, multi pagini. funcționează de fiecare dată – și îl pot automatiza sau personaliza dacă este necesar.

Prevederile

  • Visual Studio 2019+ (sau doar .NET CLI)
  • .NET 6.0+ (sau .Net Framework 4.6.2+)
  • Aspose.Imaging pentru .NET (NuGet face viata mai usor)
  • Un folder de imagini pentru a merge
PM> Install-Package Aspose.Imaging

Iată cum construiesc multi-pagina TIFF

Pasul 1: Colectați toate imaginile

Am luat toate imaginile de la mine. ./input Folderă :

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

Pasul 2: Încărcați imagini și configurați exportul 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

Pasul 3: Salvați toate paginile într-un singur 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());

Pasul 4: Verificarea și rezolvarea problemelor de sănătate

  • Deschideți TIFF în IrfanView, Photoshop sau chiar Windows Photos. dacă arată bine, sunteți setat.
  • Dacă obțineți pagini negre / albe: verificați formatele imaginii și adâncimea culorii. TIFF este picky despre unele tipuri de culori.

Pasul 5: Bonus Tweaks

  • Change Compression pentru Lzw pentru coloranţi sau None Pentru pierderi
  • Pentru job-uri de batch, înfășurați codul de mai sus într-un loop pentru mai multe dosare
  • Paralelizați dacă mașina dvs. poate gestiona acest lucru – pur și simplu nu deschideți prea multe fișiere deodată!

Ce mă trezește uneori

  • Comanda de fișiere: Asigurați-vă că fișierele dvs. sunt denumite sau sortate așa cum doriți ca acestea să apară
  • Formate Weird: Unele formate rare au nevoie de conversie în PNG/JPG mai întâi
  • File mari: Pagini mari sau pagini cu rezime ridicate = memorie mare; procesarea în bucăți mai mici dacă este necesar

Tipuri Pro

  • Îmi păstrează imaginile de sursă în siguranță – odată ce vă furați, nu le puteți „un-bake” ușor
  • Pentru conformitate, țineți cont de compresiile comune (Lzw, Fax4)
  • Utilizați denumirea clară pentru TIFF-urile de ieșire (data, proiectul etc.)

FAQ

**Q: Pot combina imagini de culoare și grayscale?**A: Da, dar verificați rezultatul – TIFF-urile pot fi ciudate dacă paginile sunt radical diferite

**Q: Cum pot automatiza acest lucru pentru fiecare încărcare?**A: Încărcați această logică într-un loc de muncă sau programat – ușor cu sarcinile .NET sau serviciile Windows

**Q: Ce se întâmplă cu OCR sau TIFF-urile care pot fi căutate?**A: Veți avea nevoie de un pas OCR – Aspose.OCR sau similar – înainte/după fuzionarea dacă aveți nevoie pentru a căuta text

concluziile

Cu Aspose.Imaging pentru .NET și un script simplu, puteți merge de la dosare înșelătoare la TIFF-uri compatibile, arhivabile și partajabile în minute.

See Aspose.Imaging pentru .NET API Referință Pentru mai multe tipuri TIFF, batch și multi-page.

 Română