←Select platform

GetTotalPages(Stream) Method

Summary
Gets the number of pages in a stream.
Syntax
C#
Objective-C
C++/CLI
Java
Python
public int GetTotalPages( 
   Stream stream 
) 
- (NSInteger)totalPagesInStream:(LTLeadStream *)stream error:(NSError **)error 
public int getTotalPages(ILeadStream stream) 
public: 
int GetTotalPages(  
   Stream^ stream 
)  
def GetTotalPages(self,stream): 

Parameters

stream
A Stream containing the image data to query.

Return Value

Number of pages in the specified stream.

Remarks

GetInformation and GetFormat use GetInformation internally. So, if more information about the image is required, it is recommended to call GetInformation directly and obtain the data once.

Example
C#
using Leadtools; 
using Leadtools.Codecs; 
using Leadtools.ImageProcessing; 
using Leadtools.ImageProcessing.Color; 
using Leadtools.Svg; 
 
 
public void LoadPagesFromStreamTest() 
{ 
 
   // Create a new RasterCodecs instance 
   using (RasterCodecs rasterCodecs = new RasterCodecs()) 
   { 
      Stream stream = File.OpenRead(Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp")); 
      RasterImageFormat rasterImageFormat = rasterCodecs.GetFormat(stream); 
      int totalPages = rasterCodecs.GetTotalPages(stream); 
 
      // Using extensions in RasterCodecsExtensions 
      // GetInformationAsync is used to get CodecsImageInfo 
       using (ILeadStream outputLeadStream = LeadStream.Factory.FromStream(stream)) 
      { 
 
         //Using GetInformationAsync to obtain the format data as CodecsImageInfo, instead of the internal GetFormatAsync 
         Task<CodecsImageInfo> task = rasterCodecs.GetInformationAsync(outputLeadStream, true); 
         CodecsImageInfo codecsImageInfo = task.Result; 
                
         //Get task data 
         Debug.WriteLine($"Task ID: {task.Id}"); 
         Debug.WriteLine($"Is a Document File: {task.Result.Document.IsDocumentFile}"); 
         Debug.WriteLine($"codecsImageInfo Palette: {codecsImageInfo.GetPalette()}"); 
 
         // Get total pages using TotalPages instead of GetTotalPagesAsync 
         Debug.WriteLine($"Total Pages: {task.Result.TotalPages}"); 
 
      } 
 
      // Get the number of pages 
      int pageCount = rasterCodecs.GetTotalPages(stream); 
      Debug.WriteLine("Number of pages in the file is {0}", pageCount); 
 
      // Load all pages 
      for (int pageNumber = 1; pageNumber <= pageCount; pageNumber++) 
      { 
         using (RasterImage rasterImage = rasterCodecs.Load(stream, pageNumber)) 
         { 
            Debug.WriteLine("Page {0} loaded", pageNumber); 
         } 
      } 
   } 
} 
 
static class LEAD_VARS 
{ 
   public const string ImagesDir = @"C:\LEADTOOLS22\Resources\Images"; 
} 
Requirements

Target Platforms

Help Version 22.0.2023.5.5
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

Leadtools.Codecs Assembly

Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.