Com incorporar imatges en un TIFF de múltiples pàgines en .NET
Cada vegada que necessito arxiu o compartir un gran conjunt d’escans, receptors o docs, TIFF de múltiples pàgines encara és rei - especialment per complir o lliurar les coses a una oficina de l’escola antiga.
Per què el Multi-Page TIFF?
PDFs són arreu, però molts sistemes d’herència o fluxos de treball de documents demanda TIFFs (especialment per a registres mèdics o legals). Vostè vol un arxiu, totes les pàgines dins, no fuss.
La meva solució
Vaig llançar totes les meves imatges de font (JPG, PNG, fins i tot vells BMPs) en una carpeta, executar aquest guió C#, i sortir pops un net, multi-pàgines TIFF. funciona cada vegada - i es pot automatitzar o personalitzar si cal.
Prerequisits
- Visual Studio 2019+ (o només el .NET CLI)
- .NET 6.0+ (o .Net Framework 4.6.2+)
- Aspose.Imaging per a .NET (NuGet fa la vida més fàcil)
- Una carpeta d’imatges per fusionar
PM> Install-Package Aspose.Imaging
Aquí teniu la manera de construir el TIFF de múltiples pàgines
Pas 1: Recollir totes les imatges
Vaig agafar totes les imatges de la meva ./input
El cartell:
string[] files = Directory.GetFiles("./input", "*.jpg"); // tweak pattern for PNG, BMP, etc.
Pas 2: Carregar imatges i configurar les exportacions 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
Pas 3: Salvar totes les pàgines en un únic 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());
Pas 4: Inspecció sanitària i solució de problemes
- Obre el TIFF en IrfanView, Photoshop, o fins i tot Windows Photos. Si sembla bé, està configurat.
- Si teniu pàgines negres / blanques: comproveu els formats d’imatge i les profunditats de colors. TIFF és picky sobre alguns tipus de color.
Pas 5: Tweaks de bonificació
- Change
Compression
per aLzw
per a la coloració de color oNone
Per la pèrdua - Per a les tasques de batxillerat, envolta el codi anterior en un rumb per a múltiples mapes
- Paral·lelis si la teva màquina pot gestionar-ho - només no obrir massa arxius alhora!
El que m’atreveix de vegades
- Ordeig de fitxers: Assegureu-vos que els vostres arxius són anomenats o classificats com voleu que apareixin
- Formats Weird: Alguns formats rars necessiten la conversió a PNG/JPG primer
- Els arxius grans: grans batxes o pàgines d’alta velocitat = gran memòria; processar en trossos més petits si cal
Tipus de Pro
- Mantenim les meves imatges de font guardades – una vegada que es fusionen, no es pot “un-bake” fàcilment
- Per a la conformitat, adherir-se a les compressions comunes (Lzw, Fax4)
- Utilitzeu un nom clar per als TIFFs de sortida (data, projecte, etc.)
FAQ
**Q: Puc combinar colors i imatges de gris?**A: Sí, però comprova la sortida — els TIFFs poden ser estranys si les pàgines són radicalment diferents
**Q: Com puc automatitzar això per a cada carregament?**A: Posa aquesta lògica en una tasca d’observació o programada - fàcil amb tasques .NET o serveis de Windows
**Q: Què passa amb OCR o TIFFs buscables?**A: Necessitaràs un pas OCR —Aspose.OCR o similar— abans/després de la fusió si necessites text buscable
Conclusió
Amb Aspose.Imaging per a .NET i un senzill guió, es pot anar de fitxers mossos a TIFFs compliants, arxivables i compartibles en minuts.
See Aspose.Imaging per a .NET API Referència per a més TIFF, batxillerat i consells multipàgins.