L_ReadFileMetaDataItems

#include "l_bitmap.h"

L_LTFIL_API L_INT L_ReadFileMetaDataItems(pszFile, pMetaData, pLoadOptions)

Gets all the tags stored in a file.

Parameters

L_TCHAR * pszFile

Character string that contains the input file name.

pL_FILEMETADATAITEMS pMetaData

Pointer to a L_FILEMETADATAITEMS structure that will be filled with the metadata items from the source image file. When this data is no longer needed pass it to the L_FreeFileMetaDataItems function to free the allocated memory.

pLOADFILEOPTION pLoadOptions

Pointer to optional extended load options. Pass NULL to use the default load options.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

You must free the data allocated with this function using the L_FreeFileMetaDataItems function.

The file referenced by pszFile must be a file format that supports XMP. For example PNG, PDF, JPEG, TIFF, SVG, DOC, DOCX, XLS, XLSX, PPT and PPTX.

To determine if a file format supports XMP, use L_FileMetaDataItemsSupported.

Required DLLs and Libraries

Platforms

Win32, x64, Linux.

See Also

Functions

Topics

Example

This example demonstrates all of the functions related to MetaData items.
It check if the file support MetaData, read MetaData items,
print MetaDataItems data, then free allocated MetaData items.

L_INT PrintFileMetaData(L_TCHAR* pFileName) 
{ 
   L_INT nRet; 
   L_BOOL bIsMetaDataSupported; 
   FILEINFO FileInfo = { 0 }; 
 
   //Get file information 
   nRet = L_FileInfo(pFileName, &FileInfo, sizeof(FILEINFO), 0, NULL); 
   if(nRet != SUCCESS) 
      return nRet; 
 
   //Check if MetaData supported for the specified file format. 
   bIsMetaDataSupported = L_FileMetaDataItemsSupported(FileInfo.Format); 
   if(bIsMetaDataSupported) 
   { 
      L_FILEMETADATAITEMS MetaDataItems = { 0 }; 
      MetaDataItems.uStructSize = sizeof(L_FILEMETADATAITEMS); 
 
      //Read MetaData Items 
      nRet = L_ReadFileMetaDataItems(pFileName, &MetaDataItems, NULL); 
      if(nRet != SUCCESS) 
         return nRet; 
 
      wprintf(L"Items count %u\n", MetaDataItems.uCount); 
      for(L_UINT i = 0; i < MetaDataItems.uCount; i++) 
      { 
         //Print Key & Value for each item in MetaDataItems 
         const L_FILEMETADATAITEM* item = &MetaDataItems.pItems[i]; 
 
         //key Ex: L_FILEMETADATAKEY_TITLE 
         wprintf(L"%s: %s\n", item->Key, item->Value); 
      } 
 
      //Free MetaData Items 
      L_FreeFileMetaDataItems(&MetaDataItems); 
   } 
 
   return SUCCESS; 
} 

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

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2021 LEAD Technologies, Inc. All Rights Reserved.