Splitting a Multipage TIFF File

The following steps show how to loop through all pages of a multipage TIFF file and extract each page, process it individually, and save it into a separate file.

NOTE: To save a region inside a TIFF file, you must have an unlocked Document, Vector, or Medical Imaging license.

  1. Declare the following variables:

    LBitmapBase BitmapBase;         // LEAD bitmap 
    LFile LeadFile;                 // File operations 
    FILEINFO FileInfo = {0};        // File info 
    L_INT PageNumber, TotalPages;   // Page numbers 
    L_TCHAR szOutFileName[MAX_PATH];   // Output file name 

  2. Determine the number of pages in the file:

    BitmapBase.SetFileName (TEXT("MultiPage.tif"));   
    LeadFile.GetInfo (&FileInfo, sizeof(FILEINFO));    
    TotalPages = FileInfo.TotalPages; 

  3. Loop through the pages of the file; performing specific processing on each page, then save each page into a separate file:

    for (PageNumber=1; PageNumber<=TotalPages; ++PageNumber) 
    { 
       // Load the next image in the loop 
       BitmapBase.Load (TEXT("MultiPage.tif"), 0, ORDER_BGRORGRAY, PageNumber); 
       // Check that it is properly loaded and allocated 
       if(BitmapBase.IsAllocated ()) 
       { 
          // Perform specific processing on the page, such as flipping it 
          BitmapBase.Flip (); 
          // Save the page to a separate file 
          wsprintf(szOutFileName, TEXT("PageNumber%4.4d.bmp"), PageNumber); 
          BitmapBase.Save (szOutFileName, FILE_BMP, BitmapBase.GetBitsPerPixel (), 0, 0); 
       } //if Allocated 
    } //for loop 

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

LEADTOOLS Raster Imaging C++ Class Library Help