Hvordan forbinde bilder til en Multi-Page TIFF i .NET
Hver gang jeg har behov for å arkivere eller dele et stort sett av skanninger, inntekter eller dokker, er multi-page TIFF fortsatt konge – spesielt for overholdelse eller levering av ting til en gammel skole kontor.
Hvorfor Multi-Page TIFF?
PDF-er er overalt, men mye arvsystemer eller dokumentarbeidsflyter Etterspørsel TIFFs (spesielt for medisinske eller juridiske opplysninger). Du vil ha en fil, alle sidene inne, ingen fuss.
Go-to løsning
Jeg kaster alle mine kildebilder (JPG, PNG, selv gamle BMPs) i en mappe, kjører dette C#-skriptet, og ut pops en ren, multi-page TIFF.
Prerequisites
- Visual Studio 2019+ (eller bare .NET CLI)
- .NET 6.0+ (eller .Net Framework 4.6.2+)
- Aspose.Imaging for .NET (NuGet gjør livet enklere)
- En mappe av bilder for å fusjonere
PM> Install-Package Aspose.Imaging
Her er hvordan jeg bygger Multi-Page TIFF
Steg 1: Samle alle bildene
Jeg tar bare alle bildene fra meg. ./input
Foldere av:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Steg 2: Last ned bilder og sette opp TIFF eksport
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
Trinn 3: Lagre alle sidene i en enkelt 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());
Steg 4: Sanitetskontroll og problemløsning
- Åpne TIFF i IrfanView, Photoshop eller til og med Windows Photos. Hvis det ser bra ut, er du satt.
- Hvis du får svart/hvitt sider: sjekk bildeformater og farge dybder.
Steg 5: Bonus Tweaks
- Change
Compression
tilLzw
for farge dokker ellerNone
For tapte - For batch jobber, henger koden ovenfor i en loop for flere mapper
- Sammenlign hvis maskinen din kan håndtere det – bare ikke åpne for mange filer på en gang!
Hva truer meg opp noen ganger
- Fileordre: Sørg for at filene dine er navngitt eller sortert slik du vil at de vises
- Weird-format: Noen sjeldne format krever konvertering til PNG/JPG først
- ** Store filer:** Store partier eller høye sider = stor minne; prosess i mindre stykker hvis det er nødvendig
Pro tips
- Jeg holder mine kildebilder backup – når du fusjonerer, kan du ikke «un-bake» dem lett
- For overholdelse, holde seg til vanlige kompressjoner (Lzw, Fax4)
- Bruk klart navn for utgang TIFF (dato, prosjekt, etc.)
FAQ
**Q: Kan jeg kombinere farge og grayscale bilder?**A: Ja, men sjekk utgangen – TIFF kan være merkelig hvis sidene er radikalt forskjellige
**Q: Hvordan kan jeg automatisere dette for hver upload?**A: Vurder denne logikken i en Watcher eller planlagt jobb – enkelt med .NET-oppgaver eller Windows-tjenester
**Q: Hva med OCR eller søkbare TIFF?**A: Du trenger et OCR-steg – Aspose.OCR eller lignende – før/etter fusjon hvis du trenger søkbar tekst
Conclusion
Med Aspose.Imaging for .NET og et enkelt skript, kan du gå fra messy mapper til compliant, arkiverbar og delbare TIFFs i minutter.
See Aspose.Imaging for .NET API Referanse For mer TIFF, batch og multi-page tips.