| Nicomsoft OCR: Developer's Guide |
| C++: | int Svr_Create(HCFG CfgObj, int Format, HSVR* SvrObj) |
| C#: | int Svr_Create(int CfgObj, int Format, out int SvrObj) |
| Visual Basic: | Function Svr_Create(ByVal CfgObj As Integer, ByVal Format As Integer, ByRef SvrObj As Integer) As Integer |
| Java: | int Svr_Create(HCFG CfgObj, int Format, HSVR SvrObj) |
| Delphi: | function Svr_Create(CfgObj:HCFG; Format:integer; out SvrObj:HSVR):integer |
| CfgObj [IN] – the Config object that will be used for getting the options. | |
| Format [IN] – the format of the target file. See the SVR_FORMAT_XXXXX constants for possible values. | |
| SvrObj [OUT] – the variable that will get the new Saver object. |
C++
int CfgObj, OcrObj, ImgObj, SvrObj, res, i, cnt;
Engine_InitializeAdvanced(&CfgObj, &OcrObj, &ImgObj); //initialize OCR engine, create objects and load configuration
res = Img_LoadFile(ImgObj, L"c:\\sample.tiff"); //load some image for OCR
if (res > ERROR_FIRST) {}; //insert error handler here
Svr_Create(CfgObj, SVR_FORMAT_PDF, &SvrObj); //create Saver object, output format is PDF
Svr_NewDocument(SvrObj); //start new document
cnt = Img_GetPageCount(ImgObj); //get number of pages in input image
for (i = 0; i < cnt; i++) //process all pages, one by one
{
if (i > 0) //first page (i is 0) is already selected when image is loaded
Img_SetPage(ImgObj, i); //select page
res = Img_OCR(ImgObj, OCRSTEP_FIRST, OCRSTEP_LAST, OCRFLAG_NONE); //perform OCR for selected page
if (res > ERROR_FIRST) {}; //insert error handler here
res = Svr_AddPage(SvrObj, ImgObj, FMT_EXACTCOPY); //add OCRed image page to output document
if (res > ERROR_FIRST) {}; //insert error handler here
}
Svr_SetDocumentInfo(SvrObj, INFO_PDF_TITLE, L"Sample Title"); //set some title
res = Svr_SaveToFile(SvrObj, L"c:\\out.pdf"); //save OCRed image to PDF file
if (res > ERROR_FIRST) {}; //insert error handler here
Engine_Uninitialize(); //release all created objects and uninitialize OCR engine
C#
//assume reference to NSOCR COM was added
using NSOCR_NameSpace; //Add NSOCR namespace from "NSOCR.cs" file
//...
int CfgObj, OcrObj, ImgObj, SvrObj, i, cnt, res;
NSOCRLib.NSOCRClass NsOCR = new NSOCRLib.NSOCRClass(); //create NSOCR COM object instance
NsOCR.Engine_InitializeAdvanced(out CfgObj, out OcrObj, out ImgObj); //initialize OCR engine, create objects and load configuration
res = NsOCR.Img_LoadFile(ImgObj, "c:\\sample.bmp"); //load some image for OCR
if (res > TNSOCR.ERROR_FIRST) {}; //insert error handler here
NsOCR.Svr_Create(CfgObj, TNSOCR.SVR_FORMAT_PDF, out SvrObj); //create Saver object, output format is PDF
NsOCR.Svr_NewDocument(SvrObj); //start new document
cnt = NsOCR.Img_GetPageCount(ImgObj); //get number of pages in input image
for (i = 0; i < cnt; i++) //process all pages, one by one
{
if (i > 0) //first page (i is 0) is already selected when image is loaded
NsOCR.Img_SetPage(ImgObj, i); //select page
res = NsOCR.Img_OCR(ImgObj, TNSOCR.OCRSTEP_FIRST, TNSOCR.OCRSTEP_LAST, TNSOCR.OCRFLAG_NONE); //perform OCR for selected page
if (res > TNSOCR.ERROR_FIRST) {}; //insert error handler here
res = NsOCR.Svr_AddPage(SvrObj, ImgObj, TNSOCR.FMT_EXACTCOPY); //add OCRed image page to output document
if (res > TNSOCR.ERROR_FIRST) {}; //insert error handler here
}
NsOCR.Svr_SetDocumentInfo(SvrObj, TNSOCR.INFO_PDF_TITLE, "Sample Title"); //set some title
res = NsOCR.Svr_SaveToFile(SvrObj, "c:\\out.pdf"); //save OCRed image to PDF file
if (res > TNSOCR.ERROR_FIRST) {}; //insert error handler here
NsOCR.Engine_Uninitialize(); //release all created objects and uninitialize OCR engine
VB.NET
'assume reference to NSOCR COM was added
'assume "NSOCR.vb" file was added to project
Dim CfgObj, OcrObj, ImgObj, SvrObj, i, cnt, res As Integer
Dim NsOCR As New NSOCRLib.NSOCRClass 'create NSOCR COM object instance
NsOCR.Engine_InitializeAdvanced(CfgObj, OcrObj, ImgObj) 'initialize OCR engine, create objects and load configuration
res = NsOCR.Img_LoadFile(ImgObj, "c:\sample.bmp") 'load some image for OCR
If res > TNSOCR.ERROR_FIRST Then 'insert error handler here
End If
NsOCR.Svr_Create(CfgObj, TNSOCR.SVR_FORMAT_PDF, SvrObj) 'create Saver object, output format is PDF
NsOCR.Svr_NewDocument(SvrObj) 'start new document
cnt = NsOCR.Img_GetPageCount(ImgObj) 'get number of pages in input image
For i = 0 To cnt - 1 'process all pages, one by one
If i > 0 Then 'first page (i is 0) is already selected when image is loaded
NsOCR.Img_SetPage(ImgObj, i) 'select page
End If
res = NsOCR.Img_OCR(ImgObj, TNSOCR.OCRSTEP_FIRST, TNSOCR.OCRSTEP_LAST, TNSOCR.OCRFLAG_NONE) 'perform OCR for selected page
If res > TNSOCR.ERROR_FIRST Then 'insert error handler here
End If
res = NsOCR.Svr_AddPage(SvrObj, ImgObj, TNSOCR.FMT_EXACTCOPY) 'add OCRed image page to output document
If res > TNSOCR.ERROR_FIRST Then 'insert error handler here
End If
Next i
NsOCR.Svr_SetDocumentInfo(SvrObj, TNSOCR.INFO_PDF_TITLE, "Sample Title") 'set some title
res = NsOCR.Svr_SaveToFile(SvrObj, "c:\out.pdf") 'save OCRed image to PDF file
If res > TNSOCR.ERROR_FIRST Then 'insert error handler here
End If
NsOCR.Engine_Uninitialize() 'release all created objects and uninitialize OCR engine
Java
//assume NSOCR package was included
//Java VM option "-Djava.library.path" must point to "Bin" folder (x86 platform) or to "Bin_64" folder (x64 platform)
//...
NSOCR.HCFG CfgObj = new NSOCR.HCFG();
NSOCR.HOCR OcrObj = new NSOCR.HOCR();
NSOCR.HIMG ImgObj = new NSOCR.HIMG();
NSOCR.HSVR SvrObj = new NSOCR.HSVR();
int res, i, cnt;
NSOCR.Engine.Engine_InitializeAdvanced(CfgObj, OcrObj, ImgObj); //initialize OCR engine, create objects and load configuration
res = NSOCR.Engine.Img_LoadFile(ImgObj, "c:\\sample.bmp"); //load some image for OCR
if (res > NSOCR.Error.ERROR_FIRST) {}; //insert error handler here
NSOCR.Engine.Svr_Create(CfgObj, NSOCR.Constant.SVR_FORMAT_PDF, SvrObj); //create Saver object, output format is PDF
NSOCR.Engine.Svr_NewDocument(SvrObj); //start new document
cnt = NSOCR.Engine.Img_GetPageCount(ImgObj); //get number of pages in input image
for (i = 0; i < cnt; i++) //process all pages, one by one
{
if (i > 0) //first page (i is 0) is already selected when image is loaded
NSOCR.Engine.Img_SetPage(ImgObj, i); //select page
res = NSOCR.Engine.Img_OCR(ImgObj, NSOCR.Constant.OCRSTEP_FIRST, NSOCR.Constant.OCRSTEP_LAST, NSOCR.Constant.OCRFLAG_NONE); //perform OCR for selected page
if (res > NSOCR.Error.ERROR_FIRST) {}; //insert error handler here
res = NSOCR.Engine.Svr_AddPage(SvrObj, ImgObj, NSOCR.Constant.FMT_EXACTCOPY); //add OCRed image page to output document
if (res > NSOCR.Error.ERROR_FIRST) {}; //insert error handler here
}
NSOCR.Engine.Svr_SetDocumentInfo(SvrObj, NSOCR.Constant.INFO_PDF_TITLE, "Sample Title"); //set some title
res = NSOCR.Engine.Svr_SaveToFile(SvrObj, "c:\\out.pdf"); //save OCRed image to PDF file
if (res > NSOCR.Error.ERROR_FIRST) {}; //insert error handler here
NSOCR.Engine.Engine_Uninitialize(); //release all created objects and uninitialize OCR engine