Hvordan til at fusionere billeder i en Multi-Page TIFF i .NET
Hver gang jeg har brug for at arkivere eller dele et stort sæt scanninger, optagelser eller dokker, multi-page TIFF er stadig konge – især for overholdelse eller levering af ting til en gammel skole kontor.
Hvorfor Multi-Page TIFF?
PDF’er er overalt, men mange arvssystemer eller dokumentarbejdsflydelser Efterspørgsel TIFF’er (især for medicinske eller juridiske optegnelser). Du vil have en fil, alle sider inde, ingen fuss.
Min Go-to løsning
Jeg dropper alle mine kildebilleder (JPG’er, PNGs, endda gamle BMPs) i en mappe, kører dette C# script, og ud pops en ren, multi-page TIFF. Arbejder hver gang – og jeg kan automatisere eller tilpasse det, hvis det er nødvendigt.
Forudsætninger
- Visual Studio 2019+ (eller kun .NET CLI)
- NET 6.0+ (eller .NET Framework 4.6.2+)
- Aspose.Imaging for .NET (NuGet gør livet nemmere)
- En mappe af billeder til at fusionere
PM> Install-Package Aspose.Imaging
Her er, hvordan jeg opbygger Multi-Page TIFF
Trin 1: Indsamle alle billeder
Jeg har bare taget alle billederne fra min ./input
Folderne er:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Trin 2: Lade billeder og indstille 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
Trin 3: Save alle sider 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());
Trin 4: Sanitetskontrol og problemløsning
- Åbn TIFF i IrfanView, Photoshop eller endda Windows Photos. Hvis det ser godt ud, er du indstillet.
- Hvis du får sorte / hvide sider: tjek billedformater og farve dybder. TIFF er picky om nogle farver typer.
Steg 5: Bonus Tweaks
- Change
Compression
tilLzw
For farvestoffer ellerNone
For tabsløs - For batchjobs, hæld koden ovenfor i en loop for flere mapper
- Sammenlign, hvis din maskine kan håndtere det – bare ikke åbne for mange filer på én gang!
Hvad trækker mig op nogle gange
- Filer ordre: Sørg for, at dine filer er navngivet eller sorteret, som du ønsker at de vises
- Weird-formater: Nogle sjældne formater kræver konvertering til PNG/JPG først
- ** Store filer:** Store partier eller høje sider = stor hukommelse; behandling i mindre stykker, hvis det er nødvendigt
Pro tips
- Jeg holder mine kildebilleder backed up – når du fusionerer, kan du ikke “un-bake” dem nemt
- For overensstemmelse, holde sig til almindelige kompressioner (Lzw, Fax4)
- Brug tydelige navne til dine output TIFF’er (dato, projekt osv.)
FAQ
**Q: Kan jeg kombinere farve og grayscale billeder?**A: Ja, men tjek udgangen – TIFF’er kan være mærkelige, hvis siderne er radikalt forskellige
**Q: Hvordan kan jeg automatisere dette for hver upload?**A: Slip denne logik i en Watcher eller planlagt job – let med .NET-opgaver eller Windows-tjenester
**Q: Hvad med OCR eller søgbare TIFF’er?**A: Du vil have brug for et OCR-steg – Aspose.OCR eller lignende – før/efter fusion, hvis du skal søge efter tekst
Konklusion
Med Aspose.Imaging for .NET og et simpelt script kan du gå fra messy mapper til overensstemmende, arkiverbare og delbare TIFF’er i minutter.
See Aspose.Imaging for .NET API Reference For mere TIFF, batch og multi-page tips.