L_ReadFileMetaDataItems

#include "l_bitmap.h"

L_LTFIL_API L_INT L_ReadFileMetaDataItems(pszFile, pMetaData, pLoadOptions)

L_TCHAR * pszFile;

input file name

pL_FILEMETADATAITEMS pMetaData;

pointer to metadata items structure to be filled

pLOADFILEOPTION pLoadOptions;

pointer to optional extended load options

Gets all the tags stored in a file.

Parameter

Description

pszFile Character string that contains the input file name.
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.
pLoadOptions Pointer to optional extended load options. Pass NULL to use the default load options.

Returns

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 and SVG.

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

Required DLLs and Libraries

LTFIL
LFXMP
For a listing of the exact DLLs and Libraries needed, based on the toolkit version, refer to Files To Be Included With Your Application.

Platforms

Win32, x64, Linux.

See Also
Functions: L_FileMetaDataItemsSupported, L_SaveXMPMetadata, L_ExtractXMPMetadata
Topics: Raster Image Functions: XMP Metadata

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 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Raster Imaging C API Help