public IEnumerable <FileSystemTiff> SplitToFile(string outputFile, NewFilesNamingOptions namingOptions) { string directory = Path.GetDirectoryName(outputFile); string fileName = Path.GetFileName(outputFile); return(this.SplitToFile(directory, fileName, namingOptions)); }
/// <summary> /// Split a multi-page TIFF file into multiple single page TIFF files. /// Each image is saved to disk applying default naming options: /// [initial number: 1 padded to 3 chars, counter prefix: '_PAGE'] /// </summary> /// <param name="targetDirectory">The directory where images are stored</param> /// <returns>A collection of lazy loading in-memory tiff images</returns> public IEnumerable <FileSystemTiff> SplitToFile(string targetDirectory) { var namingOptions = new NewFilesNamingOptions() { InitialCounterNumber = 1, NumberMinimunLength = 3, CounterPrefix = "_PAGE", CounterSuffix = "" }; return(this.SplitToFile(targetDirectory, this.FileInfo.Name, namingOptions)); }
/// <summary> /// Split a multi-page TIFF file into multiple single page TIFF files /// </summary> /// <param name="outputFile">The directory where images are stored</param> /// <param name="namingOptions">File sequence naming options</param> /// <returns>A collection of lazy loading in-memory tiff images</returns> public IEnumerable <FileSystemTiff> SplitToFile(string outDirectory, string outFileName, NewFilesNamingOptions namingOptions) { Directory.CreateDirectory(outDirectory); var imgPaths = new List <string>(); foreach (var image in this.Split()) { string page = Path.Combine(outDirectory, namingOptions.ToString(outFileName)); image.SaveTo(page); image.Dispose(); imgPaths.Add(page); } return(imgPaths.Select(imgPath => new FileSystemTiff(imgPath))); }