public IEnumerable <FileSystemTiff> SplitToFile(string outputFile, NewFilesNamingOptions namingOptions)
        {
            string directory = Path.GetDirectoryName(outputFile);
            string fileName  = Path.GetFileName(outputFile);

            return(this.SplitToFile(directory, fileName, namingOptions));
        }
示例#2
0
        /// <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));
        }
示例#3
0
        /// <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)));
        }