Gets a value that indicates whether the specified format supports multipage save operation.
public static bool FormatSupportsMultipageSave(RasterImageFormat format)
Public Shared Function FormatSupportsMultipageSave( _ByVal format As RasterImageFormat _) As Boolean
public:static bool FormatSupportsMultipageSave(RasterImageFormat format)
format
Format to check.
true if the image file format specified by format supports multipage save operations.
This example will try to save a multipage file to disk, if the format supports multipage files, then it will create a single output file, otherwise, multiple files (for each page) will be created.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;using LeadtoolsExamples.Common;private static void SaveMultiPageFile(RasterCodecs rasterCodecs, RasterImage multiPageImage, string outputFile, RasterImageFormat format){// Check if the image has multi-ple pages and the format supports multi-pageif (multiPageImage.PageCount > 1 && RasterCodecs.FormatSupportsMultipageSave(format)){// Yes, just save the filerasterCodecs.Save(multiPageImage, outputFile, format, 0, 1, -1, 1, CodecsSavePageMode.Overwrite);}else{// No, we need to save each page in a separate fileint originalPageNumber = multiPageImage.Page;for (int pageNumber = 1; pageNumber <= multiPageImage.PageCount; pageNumber++){// Get the new file namestring name = Path.GetFileNameWithoutExtension(outputFile) + "_page" + pageNumber.ToString();name = Path.ChangeExtension(name, Path.GetExtension(outputFile));string pageFile = Path.Combine(Path.GetDirectoryName(outputFile), name);// Save this pagemultiPageImage.Page = pageNumber;rasterCodecs.Save(multiPageImage, pageFile, format, 0);}multiPageImage.Page = originalPageNumber;}}public static void FormatSupportsMultipageSaveExample(){string inDir = LeadtoolsExamples.Common.ImagesPath.Path;string outDir = Path.Combine(inDir, @"FormatSupportsMultipageSave");if (!Directory.Exists(outDir))Directory.CreateDirectory(outDir);using (RasterCodecs rasterCodecs = new RasterCodecs()){// Create a multi-page imageusing (RasterImage multiPageImage = GetMultipageImage(rasterCodecs, inDir)){// Save the image as TIF, this should create a single fileSaveMultiPageFile(rasterCodecs, multiPageImage, Path.Combine(outDir, "out.tif"), RasterImageFormat.Tif);// Save the image as PNG, this should create multiple files (one for each page)SaveMultiPageFile(rasterCodecs, multiPageImage, Path.Combine(outDir, "out.png"), RasterImageFormat.Png);}}}private static RasterImage GetMultipageImage(RasterCodecs rasterCodecs, string inDir){// Create a multi-page image from some known LEADTOOLS imagesRasterImage multiPageImage = null;for (int imageNumber = 1; imageNumber <= 4; imageNumber++){string fileName = Path.Combine(inDir, "Ocr" + imageNumber.ToString() + ".tif");RasterImage pageImage = rasterCodecs.Load(fileName, 1);if (multiPageImage == null){multiPageImage = pageImage;}else{multiPageImage.AddPage(pageImage);pageImage.Dispose();}}return multiPageImage;}
Imports LeadtoolsImports Leadtools.CodecsImports Leadtools.ImageProcessingImports Leadtools.ImageProcessing.ColorImports Leadtools.DrawingImports Leadtools.SvgPrivate Shared Sub SaveMultiPageFile(rasterCodecs As RasterCodecs, multiPageImage As RasterImage, outputFile As String, format As RasterImageFormat)' Check if the image has multi-ple pages and the format supports multi-pageIf multiPageImage.PageCount > 1 AndAlso RasterCodecs.FormatSupportsMultipageSave(format) Then' Yes, just save the filerasterCodecs.Save(multiPageImage, outputFile, format, 0, 1, -1, 1, CodecsSavePageMode.Overwrite)Else' No, we need to save each page in a separate fileDim originalPageNumber As Integer = multiPageImage.PageFor pageNumber As Integer = 1 To multiPageImage.PageCount' Get the new file nameDim name As String = Path.GetFileNameWithoutExtension(outputFile) + "_page" + pageNumber.ToString()name = Path.ChangeExtension(name, Path.GetExtension(outputFile))Dim pageFile As String = Path.Combine(Path.GetDirectoryName(outputFile), name)' Save this pagemultiPageImage.Page = pageNumberrasterCodecs.Save(multiPageImage, pageFile, format, 0)NextmultiPageImage.Page = originalPageNumberEnd IfEnd SubPublic Shared Sub FormatSupportsMultipageSaveExample()Dim inDir As String = LEAD_VARS.ImagesDirDim outDir As String = Path.Combine(inDir, "FormatSupportsMultipageSave")If Not Directory.Exists(outDir) ThenDirectory.CreateDirectory(outDir)End IfUsing rasterCodecs As New RasterCodecs()' Create a multi-page imageUsing multiPageImage As RasterImage = GetMultipageImage(rasterCodecs, inDir)' Save the image as TIF, this should create a single fileSaveMultiPageFile(rasterCodecs, multiPageImage, Path.Combine(outDir, "out.tif"), RasterImageFormat.Tif)' Save the image as PNG, this should create multiple files (one for each page)SaveMultiPageFile(rasterCodecs, multiPageImage, Path.Combine(outDir, "out.png"), RasterImageFormat.Png)End UsingEnd UsingEnd SubPrivate Shared Function GetMultipageImage(rasterCodecs As RasterCodecs, inDir As String) As RasterImage' Create a multi-page image from some known LEADTOOLS imagesDim multiPageImage As RasterImage = NothingFor imageNumber As Integer = 1 To 4Dim fileName As String = Path.Combine(inDir, "Ocr" + imageNumber.ToString() + ".tif")Dim pageImage As RasterImage = rasterCodecs.Load(fileName, 1)If IsNothing(multiPageImage) ThenmultiPageImage = pageImageElsemultiPageImage.AddPage(pageImage)pageImage.Dispose()End IfNextReturn multiPageImageEnd FunctionPublic NotInheritable Class LEAD_VARSPublic Const ImagesDir As String = "C:\Users\Public\Documents\LEADTOOLS Images"End Class
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
