Ako spájať obrázky do viacstránkového TIFF v .NET
Kedykoľvek som musel archivovať alebo zdieľať veľké množstvo skenov, prijímaní alebo dok, multi-stránka TIFF je stále kráľom - najmä pre dodržiavanie alebo odovzdanie vecí do starého školského úradu.
Prečo multi-stránka TIFF?
PDF sú všade, ale veľa dedičných systémov alebo pracovných tokov dokumentov Požiadavky TIFFs (najmä pre lekárske alebo právne záznamy). Chcete jeden súbor, všetky stránky vo vnútri, žiadny fuss.
My Go-to riešenie
Vložím všetky moje zdrojové obrázky (JPG, PNG, dokonca aj staré BMPs) do priečinka, spustím tento skript C# a vytiahnem čistý, viacstránkový TIFF.
Predpoklady
- Visual Studio 2019+ (alebo iba .NET CLI)
- .NET 6.0+ (alebo .Net Framework 4.6.2+)
- Aspose.Imaging pre .NET (NuGet uľahčuje život)
- Zoznam obrázkov, ktoré sa spájajú
PM> Install-Package Aspose.Imaging
Tu je, ako budujem multi-stránku TIFF
Krok 1: Zbierajte všetky obrázky
Vyrábam všetky obrázky z môjho ./input
v priečinku:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Krok 2: Nahrať obrázky a nastaviť TIFF export
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
Krok 3: Uložiť všetky stránky v jednom 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());
Krok 4: Kontrola hygieny a riešenie problémov
- Otvorte TIFF v aplikácii IrfanView, Photoshop alebo dokonca Windows Photos. Ak vyzerá dobre, nastavíte.
- Ak dostanete čierne/biele stránky: skontrolujte formáty obrazu a farebné hĺbky.
Krok 5: Bonusové tweaks
- Change
Compression
naLzw
pre farebné doky aleboNone
pre straty - Pre batch práce, vložte kód vyššie do kruhu pre viaceré priečinky
- Paralyzujte, ak to váš počítač dokáže zvládnuť – jednoducho neotvorte príliš veľa súborov naraz!
Čo ma niekedy trápí
- File order: Uistite sa, že súbory sú pomenované alebo usporiadané tak, ako chcete, aby sa objavili
- Weird formátov: Niektoré vzácne formáty potrebujú konverziu na PNG/JPG najprv
- Velké súbory: Veľké balíky alebo vysokorýchlostné stránky = veľká pamäť; spracovanie v menších kusoch v prípade potreby
Pre tipy
- Držím svoje zdrojové obrázky v zálohe – akonáhle sa zlúčíte, nemôžete ich ľahko „un-bake“
- Pre dodržiavanie, držte sa bežných kompresí (Lzw, Fax4)
- Použite jasné názvy pre vaše výstupné TIFF (dátum, projekt atď.)
FAQ
**Q: Môžem kombinovať farebné a šedé obrázky?**Odpoveď: Áno, ale skontrolujte výstup – TIFF môžu byť podivné, ak sú stránky radikálne odlišné
**Q: Ako to automatizujem pre každé nahrávanie?**Odpoveď: Vložte túto logiku do prehliadača alebo plánovanej práce – jednoduché s .NET úlohami alebo službami systému Windows
**Q: Čo o OCR alebo vyhľadávateľných TIFF?**Odpoveď: Budete potrebovať krok OCR – Aspose.OCR alebo podobný – pred/po zlúčení, ak potrebujete vyhľadávateľný text
Záver
S Aspose.Imaging pre .NET a jednoduchý skript, môžete ísť od bláznivých priečinkov na kompatibilné, archivovateľné a zdieľateľné TIFF v minútach.
See Aspose.Imaging pre .NET API Reference pre viac tipov TIFF, batch a multi-page.