twain3.0/3rdparty/gpdf/hg_gpdf.h

86 lines
2.1 KiB
C
Raw Permalink Normal View History

/*
* ====================================================
* <EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>OCR<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɶ<EFBFBD>ҳPDF<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* <EFBFBD><EFBFBD><EFBFBD>ߣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ά
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>2020/3/5
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>ʱ<EFBFBD>2020/3/5
* <EFBFBD><EFBFBD>ţ<EFBFBD>v1.0
* ====================================================
*/
#ifndef HG_GPDF_H
#define HG_GPDF_H
#if defined (_WIN32)
#if !defined (HG_GPDF_API_BUILD)
#define HG_GPDF_API __declspec(dllexport)
#else
#define HG_GPDF_API __declspec(dllimport)
#endif
#else
#define HG_GPDF_API
#endif
class HG_GPDF_API HG_OCR
{
public:
//ʶ<><CAB6>ģʽ
enum RECOGNITION_MODE
{
RECOGNITION_OSD, //<2F>ĸ巽<C4B8><E5B7BD>ʶ<EFBFBD><CAB6>ģʽ
RECOGNITION_OCR //<2F>ַ<EFBFBD>ʶ<EFBFBD><CAB6>ģʽ
};
//<2F>ַ<EFBFBD>ʶ<EFBFBD>𱣴<EFBFBD>ģʽ
enum SAVE_MODE
{
SAVE_PDF = 0x01, //PDF<44><46><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAVE_TXT = 0x02, //TXT<58><54><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
SAVE_PDF_TXT = 0x03 //ͬʱ<CDAC><CAB1><EFBFBD><EFBFBD>PDF<44><46>TXT<58><54><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>ʶ<EFBFBD><CAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
};
public:
HG_OCR();
~HG_OCR();
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>PDF<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* trainFile:[in] ѵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĩβ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>'/'<EFBFBD><EFBFBD>β
* mode<EFBFBD><EFBFBD>[in] <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> enum RECOGNITION_MODE<EFBFBD><EFBFBD>Ĭ<EFBFBD><EFBFBD>ֵΪRECOGNITION_OCR
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>0Ϊ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
int init(const char* trainFile, RECOGNITION_MODE mode = RECOGNITION_OCR);
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>ַ<EFBFBD>ʶ<EFBFBD>𣬲<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
* inputFileNames:[in] <EFBFBD><EFBFBD><EFBFBD>ش<EFBFBD>ʶ<EFBFBD><EFBFBD>ͼƬ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͬʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͼƬ·<EFBFBD><EFBFBD>
* numOfFiles<EFBFBD><EFBFBD>[in] inputFileNames<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* numOfFiles<EFBFBD><EFBFBD>[in] inputFileNames<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* outputFileName<EFBFBD><EFBFBD>[in] ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>֣<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>׺<EFBFBD><EFBFBD>
* flag<EFBFBD><EFBFBD>[in] <EFBFBD>ַ<EFBFBD>ʶ<EFBFBD>𱣴<EFBFBD>ģʽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> enum SAVE_MODE
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD>trueΪ<EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
*/
bool ocr(const char** inputFileNames, int numOfFiles, const char* outputFileName, SAVE_MODE flag = SAVE_PDF);
/*
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD>
* data:[in] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD>
* width<EFBFBD><EFBFBD>[in] ͼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
* height<EFBFBD><EFBFBD>[in] ͼ<EFBFBD><EFBFBD><EFBFBD>߶<EFBFBD>
* channels<EFBFBD><EFBFBD>[in] ͼ<EFBFBD><EFBFBD>ͨ<EFBFBD><EFBFBD>
* dpi<EFBFBD><EFBFBD>[in] ͼƬDPI
* <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>˳ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>м<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0,90,180,270<EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD><EFBFBD><EFBFBD>
*/
int orientation(const unsigned char* data, int width, int height, int channels, int dpi);
private:
void* m_ptr;
};
#endif //HG_GPDF_H