Come integrare le immagini in un multi-page TIFF in .NET

Come integrare le immagini in un multi-page TIFF in .NET

Ogni volta che ho bisogno di archiviare o condividere un sacco di scansioni, ricetti o docci, TIFF multi-pagina è ancora il re - specialmente per la conformità o la consegna delle cose in un ufficio di scuola vecchia.

Perché Multi-Page TIFF?

PDF sono ovunque, ma un sacco di sistemi di eredità o flussi di lavoro di documenti La domanda TIFF (soprattutto per i documenti medici o legali).Vuoi un file, tutte le pagine all’interno, nessun fuss.

La mia soluzione Go-to

Lascio tutte le mie immagini sorgente (JPG, PNG, persino vecchi BMPs) in una cartella, eseguo questo script C# e usco un TIFF pulito e multi-pagina. funziona ogni volta - e posso automatizzare o personalizzarlo se necessario.

Prerequisiti

  • Visual Studio 2019+ (o solo il .NET CLI)
  • .NET 6.0+ (o .Net Framework 4.6.2+)
  • Aspose.Imaging per .NET (NuGet rende la vita più semplice)
  • Una cartella di immagini per fusione
PM> Install-Package Aspose.Imaging

Ecco come costruire il multi-page TIFF

Passo 1: raccogliere tutte le immagini

Ho scattato tutte le immagini da me. ./input Il folder:

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

Passo 2: Caricare le immagini e impostare l’esportazione TIFF

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

Passo 3: Salva tutte le pagine in un unico 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());

Passo 4: Controllo sanitario e risoluzione dei problemi

  • Apri il TIFF in IrfanView, Photoshop, o persino Windows Photos. Se sembra bene, sei impostato.
  • Se si ottiene le pagine nero/bianco: controllare i formati di immagine e le profondità dei colori.

Passo 5: Bonus Tweaks

  • Change Compression per Lzw per i colorati o None per la perdita
  • Per i lavori di batch, inserire il codice sopra in un loop per più cartelle
  • Parallelate se la vostra macchina può gestire – semplicemente non aprire troppo file contemporaneamente!

Quello che a volte mi colpisce

  • ** Ordine file:** Assicurati che i tuoi file siano nominati o classificati come vuoi che essi appaiono
  • Formati Weird: Alcuni formati rari richiedono la conversione in PNG/JPG prima
  • File grandi: Big batch o pagine ad alta risorsa = grande memoria; processo in pezzi più piccoli se necessario

Tipi di Pro

  • Io ho le mie immagini sorgente backup – una volta che si unisce, non si può “un-bake” facilmente
  • Per la conformità, rispettare le compressioni comuni (Lzw, Fax4)
  • Utilizzare un chiaro nome per i TIFF di uscita (data, progetto, ecc.)

FAQ

**Q: Posso combinare immagini di colore e grigio?**A: Sì, ma controlla la produzione – i TIFF possono essere strano se le pagine sono radicalmente diverse

**Q: Come posso automatizzare questo per ogni upload?**A: Inserisci questa logica in un lavoro orizzontale o pianificato – facile con i compiti .NET o i servizi Windows

**Q: Cosa succede con OCR o TIFF di ricerca?**A: Avrai bisogno di un passo OCR—Aspose.OCR o simile—prima/dopo la fusione se hai bisogno del testo di ricerca

conclusione

Con Aspose.Imaging per .NET e un semplice script, puoi passare da cartelle sbagliate a compatibili, archiviabili e condivisibili TIFF in minuti.Questo approccio mi ha risparmiato ore - e lo fido ogni volta.

See Aspose.Imaging per .NET API Reference Per ulteriori suggerimenti TIFF, batch e multi-page.

 Italiano