#include "base/HGDef.h" #include "base/HGInc.h" #include #include "base/HGUtility.h" #include "imgfmt/HGImgFmt.h" #include "imgproc/HGOCR.h" int main(int argc, char *argv[]) { std::string filePath; for (int i = 1; i < argc; i++) { char* z = argv[i]; if (z == strstr(z, "-filePath=")) filePath = z + strlen("-filePath="); } int ret = -1; HGOCRMgr ocrMgr = NULL; HGImgProc_CreateOCRMgr(HGIMGPROC_OCRALGO_DEFAULT, &ocrMgr); if (NULL == ocrMgr) { return ret; } HGImgFmtReader reader = NULL; HGImgFmt_OpenImageReader(filePath.c_str(), 0, &reader); if (NULL != reader) { HGUInt count = 0; HGImgFmt_GetImagePageCount(reader, &count); for (HGUInt i = 0; i < count; ++i) { HGImage image = NULL; HGImgFmt_LoadImageFromReader(reader, i, NULL, 0, 0, &image); if (NULL != image) { HGImgProc_AddToImageOCRList(ocrMgr, image); HGBase_DestroyImage(image); } } HGImgFmt_CloseImageReader(reader); } HGBase_DeleteFile(filePath.c_str()); if (HGBASE_ERR_OK == HGImgProc_ImageListOCRToFile(ocrMgr, 0, filePath.c_str(), NULL, NULL)) { ret = 0; } HGImgProc_DestroyOCRMgr(ocrMgr); return ret; }