Comment intégrer des images dans un TIFF multi-page dans .NET

Comment intégrer des images dans un TIFF multi-page dans .NET

Chaque fois que j’ai besoin d’archiver ou de partager un grand nombre de scans, de réceptions ou des docs, le multi-page TIFF est toujours roi – en particulier pour la conformité ou la livraison des choses à un bureau de l’école ancienne.

Pourquoi Multi-Page TIFF ?

PDFs sont partout, mais beaucoup de systèmes d’héritage ou de flux de travail de documents La demande TIFFs (en particulier pour les documents médicaux ou juridiques). Vous voulez un fichier, toutes les pages à l’intérieur, pas de fuss.

Mon go-to solution

Je jette toutes mes images source (JPG, PNG, même vieux BMPs) dans un dossier, exécutez ce script C# et sortez un TIFF propre et multi-page.

Principaux

  • Visual Studio 2019+ (ou seulement le .NET CLI)
  • .NET 6.0+ (ou le cadre 4.6.2+)
  • Aspose.Imaging pour .NET (NuGet rend la vie plus facile)
  • Un dossier d’images à fusionner
PM> Install-Package Aspose.Imaging

Voici comment je construis le multi-page TIFF

Étape 1 : Recueillir toutes les images

Je prends toutes les images de mon ./input Le dossier :

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

Étape 2 : Télécharger les images et configurer l’exportation 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

Étape 3 : Enregistrer toutes les pages dans un seul 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());

Étape 4 : Vérifier la santé et résoudre les problèmes

  • Ouvrez le TIFF dans IrfanView, Photoshop, ou même Windows Photos.
  • Si vous obtenez des pages noires / blanches : vérifiez les formats d’image et les profondeurs de la couleur.

Étape 5 : Bonus Tweaks

  • Change Compression à Lzw pour les coloris ou None Pour les pertes
  • Pour les tâches de batch, versez le code ci-dessus dans un loop pour plusieurs dossiers
  • Parallèlez-vous si votre machine peut le gérer – juste ne pas ouvrir trop de fichiers à la fois!

Ce qui m’entraîne parfois

  • ** Commande de fichier:** Assurez-vous que vos fichiers sont nommés ou classés comme vous voulez qu’ils apparaissent
  • Formats Weird: Certains formats rares nécessitent la conversion en PNG/JPG d’abord
  • **Fichiers majeurs: **Big batches ou pages de haute taille = grande mémoire; traitement en petits morceaux si nécessaire

Pour les tips

  • Je maintiens mes images source enregistrées – une fois que vous fusionnez, vous ne pouvez pas les « un-bake » facilement
  • Pour la conformité, appuyez sur les compressions courantes (Lzw, Fax4)
  • Utilisez un nom clair pour vos TIFF de sortie (date, projet, etc.)

FAQ

**Q: Puis-je combiner des images de couleur et de graisse ?**A: Oui, mais vérifiez la sortie – les TIFF peuvent être étranges si les pages sont radicalement différentes

**Q: Comment puis-je l’automatiser pour chaque téléchargement?**A: Plongez cette logique dans un travail de surveillance ou planifié – facile avec les tâches .NET ou les services Windows

**Q: Qu’en est-il des OCR ou des TIFF recherchables ?**A: Vous aurez besoin d’une étape OCR — Aspose.OCR ou similaire — avant/après la fusion si vous avez besoin de texte recherchable

Conclusion

Avec Aspose.Imaging pour .NET et un scénario simple, vous pouvez aller des dossiers méchants à des TIFF conformes, archivables et partagables en quelques minutes.

See Aspose.Imaging pour la référence API .NET Pour plus de conseils TIFF, batch et multi-page.

 Français