在 C (Objective-C) 中使用 ABBYY FineReader Engine
本节内容说明如何在 C (Objective-C) 中下载和卸载 ABBYY FineReader Engine。
- 导入 FREngine.h 标头文件时包括该代码:
/* C */ #define __RPC__deref_out #define COBJMACROS #include <FREngine.h> /* Objective-C */ #define interface _COM_interface #define __RPC__deref_out #define COBJMACROS #import <FREngine.h> #undef interface
- 使用以下代码下载和卸载 FREngine.dll:
typedef HRESULT (*initializeEngine_ptr) (BSTR, BSTR, BSTR, BSTR, BSTR, VARIANT_BOOL, IEngine **); typedef HRESULT (*DeinitializeEngine_ptr) (void); static IEngine* FREngine; static HMODULE FREngineDll; int main(int argc, char *argv[]) { initializeEngine InitializeEngine=NULL; DeinitializeEngine_ptr DeinitializeEngine=NULL; // 在此提供您的客户项目 ID 和在线许可证(如有)信息 wchar_t *customerProjectId = L""; wchar_t *licensePath = L""; wchar_t *licensePassword = L""; FREngineDll = LoadLibraryEx("<FREngine.dll 的路径>", 0, LOAD_WITH_ALTERED_SEARCH_PATH); if(FREngineDll) { InitializeEngine = (InitializeEngine_ptr) GetProcAddress(FREngineDll,"InitializeEngine"); if(InitializeEngine) InitializeEngine(customerProjectId, licensePath, licensePassword, "", "", FALSE, &FREngine); } ProcessImage(); IEngine_Release( FREngine ); DeinitializeEngine = (DeinitializeEngine_ptr) GetProcAddress(FREngineDll,"DeinitializeEngine"); DeinitializeEngine(); }
- 对 ABBYY FineReader Engine 的所有其它调用都可以使用在 FREngine.h 标头文件中定义的 C 宏指令。
void ProcessImage() { IFRDocument* frDocument = NULL; IEngine_CreateFRDocument( FREngine, &frDocument ); IFRDocument_AddImageFile( frDocument, L"<源图像的路径>", NULL, NULL ); IFRDocument_Process( frDocument, NULL, NULL, NULL ); IFRDocument_Export( frDocument, L"<输出文件的路径>", FEF_PDF, NULL ); IFRDocument_Release( frDocument ); }
另请参阅
17.09.2024 15:14:41