Kaip sujungti vaizdus į daugialypį TIFF .NET

Kaip sujungti vaizdus į daugialypį TIFF .NET

Kiekvieną kartą, kai man reikia archyvuoti ar pasidalinti didelį skanų, įrašų ar dokų rinkinį, daugialypė TIFF vis dar yra karalius – ypač dėl atitikties ar daiktų pristatymas senosios mokyklos biure.

Kodėl daugiašalis puslapis TIFF?

PDF yra visur, bet daug paveldėjimo sistemų ar dokumentų darbo srautų paklausa TIFFs (ypač medicinos ar teisiniai įrašai). norite vieno failo, visų puslapių viduje, be pjovimo.

Mūsų sprendimas

Aš nuleidau visus savo šaltinio vaizdus (JPG, PNG, net ir senus BMPs) į aplanką, paleidžiu šį C# scenarijų ir ištraukiu švarų, daugialypį TIFF. Veikia kiekvieną kartą – ir galiu automatuoti ar pritaikyti, jei reikia.

Prerequisites

  • „Visual Studio 2019+“ (arba tik „ .NET CLI“)
  • .NET 6.0+ (arba „NET Framework 4.6.2+“)
  • Aspose.Imaging .NET (NuGet daro gyvenimą lengviau)
  • Nuotraukų plokštė, kurią reikia sujungti
PM> Install-Package Aspose.Imaging

Štai kaip aš sukuriu multi-page TIFF

1 žingsnis: surinkti visas nuotraukas

Aš tiesiog paimsiu visas nuotraukas iš mano ./input Pašto dėžutė :

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

2 žingsnis: Atsisiųskite nuotraukas ir nustatykite 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

3 žingsnis: išsaugoti visas puslapius viename 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 žingsnis: sanitarinis patikrinimas ir problemų sprendimas

  • Atidarykite TIFF „IrfanView“, „Photoshop“ arba net „Windows“ nuotraukas.
  • Jei gaunate juodą / baltą puslapius: patikrinkite vaizdo formatus ir spalvų gylį.

5 žingsnis: Bonus Tweaks

  • Change Compression Į Lzw Dėl spalvų daktaro arba None Dėl pralaimėjimo
  • Atsižvelgiant į batch užduotis, įpilkite viršutinį kodą į kelių dėžutės langą
  • Palyginkite, jei jūsų kompiuteris gali jį tvarkyti – tiesiog neatsidaryti per daug failų vienu metu!

Kas mane kartais sukelia

  • File order: Įsitikinkite, kad jūsų failai yra pavadinti arba suskirstyti taip, kaip norite juos pasirodyti
  • Weird formatus: Kai kuriems retam formatui pirmiausia reikia konvertuoti į PNG/JPG
  • Dideli failai: Dideli batai arba aukšto lygio puslapiai = didelė atmintis; procesas mažesniais gabalais, jei reikia

Pro patarimai

  • Aš palaikau savo šaltinio vaizdus – kai jūs sujungti, jūs negalite juos lengvai „ne-pakuoti“
  • Norėdami laikytis reikalavimų, laikykitės bendrų suspaudimų (Lzw, Fax4)
  • Naudokite aiškią pavadinimą savo išleidimo TIFF (data, projektas ir tt)

FAQ

**Q: Ar galiu sujungti spalvą ir pilkos spalvos vaizdus?**A: Taip, bet patikrinkite išleidimą – TIFF gali būti keista, jei puslapiai yra radikaliai skirtingi

**Q: Kaip aš automatuoju tai kiekvienam įkėlimui?**A: Įdėkite šią logiką į stebėtoją arba planuojamą darbą – lengva su .NET užduotimis ar “Windows” paslaugomis

**Q: Ką apie OCR ar paieškos TIFF?**A: Jums reikės OCR žingsnio – Aspose.OCR arba panašus – prieš / po derinimo, jei jums reikia paieškos tekstą

Conclusion

Multi-page TIFFs neturi būti skausmas. su Aspose.Imaging .NET ir paprastas scenarijus, jūs galite pereiti nuo nesąžiningų failų į suderinamų, archyvuojamų ir dalinamų Tifs per minutes. Šis požiūris sutaupė man valandas - ir aš pasitikėjau kiekvieną kartą.

See Aspose.Imaging .NET API nuoroda Daugiau TIFF, batch ir kelių puslapių patarimų.

 Lietuvių