Cómo integrar imágenes en un TIFF de múltiples páginas en .NET

Cómo integrar imágenes en un TIFF de múltiples páginas en .NET

Cada vez que necesito archivar o compartir un gran conjunto de escaneos, recipientes o doces, TIFF de múltiples páginas sigue siendo el rey -especialmente para el cumplimiento o la entrega de cosas a una oficina de la escuela antigua.

¿Por qué Multi-Page TIFF?

PDFs están en todas partes, pero muchos sistemas de herencia o flujos de trabajo de documentos demanda TIFFs (especialmente para los registros médicos o legales).Quieres un archivo, todas las páginas dentro, no fuss.

La solución Go-to

Dejo todas mis imágenes de fuente (JPG, PNG, incluso antiguos BMPs) en una carpeta, ejecutando este script C#, y empuesto un TIFF limpio, multi-página.

Prerequisitos

  • Visual Studio 2019+ (o sólo el .NET CLI)
  • .NET 6.0+ (o .Net Framework 4.6.2+)
  • Aspose.Imaging para .NET (NuGet hace la vida más fácil)
  • Un paquete de imágenes para combinar
PM> Install-Package Aspose.Imaging

Aquí está cómo construyo el TIFF multi-páginas

Paso 1: Recoger todas las imágenes

Sólo he tomado todas las imágenes de mi ./input El folleto:

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

Paso 2: Cargar imágenes y configurar la exportación de 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

Paso 3: Salva todas las páginas en un único 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());

Paso 4: Control de Sanidad y Resolución de Problemas

  • Abra el TIFF en IrfanView, Photoshop, o incluso fotos de Windows. Si se ve bien, está configurado.
  • Si obtiene páginas negras/blancas: verifique los formatos de imagen y las profundidades de color. TIFF es picky sobre algunos tipos de colores.

Paso 5: Tweaks de bonificación

  • Change Compression para Lzw para los coloridos o None por las pérdidas
  • Para las tareas de batch, envuelve el código de arriba en un círculo para varias carpetas
  • Paralelize si su máquina puede gestionarlo – simplemente no abre demasiados archivos a la vez!

Lo que me atrae a veces

  • Orden de archivo: Asegúrese de que sus archivos son nombrados o clasificados como desea que aparezcan
  • Formatos Weird: Algunos formatos raros necesitan la conversión a PNG/JPG primero
  • Ficheros grandes: Páginas de gran tamaño o de alto tamaño = memoria grande; procesamiento en piezas más pequeñas si es necesario

Título Pro

  • Mantengo mis imágenes de fuente protegidas – una vez que se fusionan, no se pueden “un-bake” fácilmente
  • Para el cumplimiento, adhiere a las compresiones comunes (Lzw, Fax4)
  • Utilice un nombre claro para tus TIFFs de salida (data, proyecto, etc.)

FAQ

**Q: ¿Puedo combinar imágenes de color y gris?**A: Sí, pero vea la salida — los TIFFs pueden ser extraños si las páginas son radicalmente diferentes

**Q: ¿Cómo puedo automatizar esto para cada descarga?**A: Envuelve esta lógica en un horario o trabajo programado – fácil con las tareas .NET o los servicios de Windows

**Q: ¿Qué es OCR o TIFFs buscables?**A: Usted necesitará un paso OCR—Aspose.OCR o similar—antes/después de la fusión si necesita texto buscable

Conclusión

Con Aspose.Imaging para .NET y un sencillo guión, puedes ir de las carpetas desagradables a TIFFs compatibles, archivables y comparables en minutos.Este enfoque me ha salvado horas -y lo confío cada vez.

See Aspose.Imaging para .NET API Referencia Para más TIFF, batch y consejos multi-páginas.

 Español