Kā apvienot attēlus multi-pages TIFF .NET

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 Lai Lzw Krāsu krāsas vai None 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.

 Latviski