// *** Choose language (en|fr|de) ***
GLOBAL.labels.setLanguage(e.language.English);
// Global Systray object
var systray = ctx.systray();
//-Function hereString--------------------------------------------------
function hereString(f) {
return f.toString().
replace(/^[^\/]+\/\*!?/, '').
replace(/\*\/[^\/]+$/, '');
}
//-Function TesseractOCR------------------------------------------------
function TesseractOCR(BmpFile, Language) {
var dotNETRunner = ctx.activeX.create("dotNET.Runner");
var PSCode = hereString(function() {/*!
param(
[parameter(Mandatory=$true)][String]$BmpFile,
[String]$Language = "en"
)
[String]$IRPADir = "$(${env:ProgramFiles(x86)})\SAP\Intelligent RPA\Desktop Agent";
[String]$File = $IRPADir + "\TessOCRWrapper.dll";
Add-Type -Path $File;
[String]$Ret = $null;
switch($Language) {
"en" {
$TessLang = [TessOCRWrapper.TessAPI+Language]::En;
}
"de" {
$TessLang = [TessOCRWrapper.TessAPI+Language]::Ger;
}
"fr" {
$TessLang = [TessOCRWrapper.TessAPI+Language]::Fre;
}
}
try {
[TessOCRWrapper.TessAPI]$Tess = [TessOCRWrapper.TessAPI]::new();
$Tess.SetBaseModelDirectory($IRPADir);
$Tess.Init(
$TessLang,
[TessOCRWrapper.TessAPI+Tradeoff]::Accurate,
[TessOCRWrapper.TessAPI+PageSegMode]::PSM_SPARSE_TEXT,
[TessOCRWrapper.TessAPI+CharsetFilter]::All
);
[System.Drawing.Bitmap]$BMP = New-Object System.Drawing.Bitmap($BmpFile);
$Tess.SetImage($BMP);
$Ret = $Tess.GetText();
} catch {
$Ret = $Error[0].Exception.Message + " at " + $Error[0].InvocationInfo.Line;
} finally {
$Tess.End();
$Ret = $Ret.Replace("`n", " ");
$Ret = $Ret.Replace(" ", " ");
$Ret | Out-String;
}
*/});
var Ret = dotNETRunner.runPS_str(PSCode, "BmpFile = " + BmpFile + ", Language = " + Language);
return Ret;
}
/** main process start handler */
GLOBAL.events.START.on(function (ev) {
// *** Create Systray ***
systray.createSystrayMenu(ctx.options.projectName, 'ICON1');
systray.addMenu('', 'TesseractOCR', GLOBAL.labels.menu.main, function(ev) {
var OCRText = TesseractOCR("C:\\Dummy\\TessOCR2.png", "en");
ctx.log(OCRText);
});
});
/** main process stop handler */
GLOBAL.events.QUIT.on(function(ev) {
// add code here
});
/** Auto-update menu handler */
GLOBAL.events.UPDATECTX.on(function(ev) {
ctx.shutdownAgent(true, true, (ctx.options.restartConfirmation ? GLOBAL.labels.updatePopup.label : null), GLOBAL.labels.updatePopup.title);
});
var OCRText = TesseractOCR("C:\\Dummy\\TessOCR2.png", "en");
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
10 | |
6 | |
6 | |
5 | |
5 | |
4 | |
4 | |
4 | |
4 | |
3 |