using Aspose.Imaging; using Aspose.Imaging.FileFormats.Apng; using Aspose.Imaging.FileFormats.Dicom; using Aspose.Imaging.FileFormats.Gif; using Aspose.Imaging.FileFormats.Gif.Blocks; using Aspose.Imaging.FileFormats.Tiff; using Aspose.Imaging.FileFormats.Tiff.Enums; using Aspose.Imaging.FileFormats.Webp; using Aspose.Imaging.ImageOptions; using System; using System.Collections.Generic; using System.IO; using System.Linq; string templatesFolder = @"c:\Users\USER\Downloads\templates\"; string dataDir = templatesFolder; MultipageFromVector(); File.Delete(dataDir + "result.tiff"); File.Delete(dataDir + "result.png"); File.Delete(dataDir + "result2.png"); File.Delete(dataDir + "result3.png"); void MultipageFromVector() { // Rasterize vector images RasterizeSvgToPng(dataDir + "template.svg", dataDir + "result.png"); RasterizeSvgToPng(dataDir + "template.svg", dataDir + "result2.png"); RasterizeSvgToPng(dataDir + "template.svg", dataDir + "result3.png"); // Load frames var frames = LoadFrames().ToArray(); // Create TIFF image using the first frame using (var image = new TiffImage(new TiffFrame(frames[0]))) { // Add frames to the TIFF image using the AddPage method for (var index = 1; index < frames.Length; index++) { image.AddPage(frames[index]); } // Save TIFF image using options var options = new TiffOptions(TiffExpectedFormat.TiffJpegRgb); image.Save(dataDir + "result.tiff", options); } foreach (RasterImage image in frames) { image.Dispose(); } } void RasterizeSvgToPng(string inputPath, string outputPath) { // Load vector image using (var image = Image.Load(inputPath)) { // Save PNG image image.Save(outputPath, new PngOptions { // Create rasterization options VectorRasterizationOptions = new SvgRasterizationOptions { PageWidth = image.Width, PageHeight = image.Height } }); } } IEnumerable<RasterImage> LoadFrames() { foreach (var filePath in new string[] { "result.png", "result2.png", "result3.png" }) { yield return (RasterImage)Image.Load(dataDir + filePath); } }