Kā apvienot attēlus multi-pages TIFF .NET
Katru reizi, kad man ir nepieciešams arhivēt vai dalīties ar lielu skaitu skanējumu, ierakstu vai doku, multi-page TIFF joprojām ir karalis – it īpaši atbilstības vai piegādes lietas vecā skolas birojā.
Kāpēc Multi-Page TIFF?
PDF ir visur, bet daudzas mantojuma sistēmas vai dokumentu darba plūsmas pieprasījums TIFFs (īpaši medicīniskajiem vai juridiskajiem ierakstiem). Jūs vēlaties vienu failu, visas lapas iekšpusē, bez fuss.
Mūsu Go-to risinājums
Es izlaidu visus savus avotu attēlus (JPG, PNG, pat vecos BMPs) mapē, darbojos ar šo C# skriptu un izplūdu tīru, vairāku lapu TIFF.
Prerequisites
- Visual Studio 2019+ (vai tikai .NET CLI)
- .NET 6.0+ (vai .Net Framework 4.6.2+)
- Aspose.Imaging for .NET (NuGet padara dzīvi vieglāku)
- Attēlu fails, lai apvienotu
PM> Install-Package Aspose.Imaging
Šeit ir, kā es izveidoju Multi-Page TIFF
1. solis: visu attēlu savākšana
Es tikai izņem visu attēlu no manas ./input
Folderā ir:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
2. solis: uzlādēt attēlus un iestatīt TIFF eksportu
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
3. solis: glabāt visas lapas vienā 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());
4. solis: Sanitārā pārbaude un problēmu risināšana
- Atvērt TIFF IrfanView, Photoshop vai pat Windows Fotogrāfijas. ja tas izskatās labi, jūs esat iestatīts.
- Ja jūs saņemsiet melnas/baltas lapas: pārbaudiet attēla formātus un krāsu dziļumus.
5. solis: Bonus Tweaks
- Change
Compression
LaiLzw
Krāsu krāsas vaiNone
par zaudējumiem - Attiecībā uz batch darbiem, ielieciet augšējo kodu vairāku lapu sloksnē
- Paralēlieties, ja jūsu mašīna to var apstrādāt – vienkārši neatveriet pārāk daudz failu vienlaicīgi!
Kas mani dažreiz iztur
- File order: Pārliecinieties, ka jūsu faili ir nosaukti vai šķirti tā, kā jūs vēlaties, lai tie parādīsies
- Weird formāti: Dažiem retiem formātiem vispirms ir nepieciešams konvertēt uz PNG/JPG
- Lieli faili: Lieli gabali vai augsta līmeņa lapas = liela atmiņa; apstrāde mazākajos gabalos, ja nepieciešams
Pro tips
- Es saglabāju savus avotu attēlus aizstāvēt – kad jūs apvienojat, jūs nevarat “un-bake” tos viegli
- Atbilstības nolūkā ievērojiet kopīgas kompresijas (Lzw, Fax4)
- Izmantojiet skaidru nosaukumu jūsu iznākuma TIFF (datums, projekts utt.)
FAQ
**Q: Vai es varu apvienot krāsu un grauskalu attēlus?**A: Jā, bet pārbaudiet rezultātu – TIFF var būt dīvaini, ja lapas ir radikāli atšķirīgas
**Q: Kā es automātiski to katru uzkodu?**A: Ielieciet šo loģiku novērotājs vai plānotais darbs – viegli ar .NET uzdevumiem vai Windows pakalpojumiem
**Q: Kā ar OCR vai meklējamiem TIFF?**A: Jums būs nepieciešams OCR posms — Aspose.OCR vai līdzīgs — pirms / pēc apvienošanās, ja jums ir nepieciešams meklējams teksts
Conclusion
Ar Aspose.Imaging .NET un vienkāršu skriptu, jūs varat doties no meliem lapas uz atbilstīgiem, arhivējamiem un dalītiem TIFF minūtēs.
See Aspose.Imaging par .NET API atsauci Vairāk TIFF, batch un multi-page ieteikumu.