Error executing OCR action

Dear Sir or Madam,

There is an OCR issue that occurred in executing OCR action.
I checked this related error in Forum and I tried possible solutions but these were not worked.
Here is a detail on the error.

Error executing OcrAction

com.workfusion.studio.rpa.recorder.playback.PlaybackException: Error executing TemplateAction[templateName=OcrAction.ftl,id=4,name=Optional[OcrAction],parent=-1,nextSibling=5,arguments=ActionArguments[varName=[date_1],imageName=[C:\Users\PC OWNER\workfusion-workspace\rpae_project\OCR\1573436923172-anchor-1573436923236.apng],fullImageName=[1573436923172.png],xsi:type=[recorder:OcrAction, recorder:OcrAction],pollingInterval=[300],active=[true],language=[Japanese],type=[CONTROL],anchorOffsetY=[9],offsetX=[-39],anchorOffsetX=[43],delay=[0],offsetY=[32],timeoutMs=[10000],width=[205],awaitTimeout=[5000],height=[36]]]
at com.workfusion.studio.rpa.recorder.playback.flow.StandardControlFlow.execute(StandardControlFlow.java:54)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:28)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:15)
at com.workfusion.studio.rpa.recorder.playback.player.ActionPlayer.next(ActionPlayer.java:81)
at com.workfusion.studio.rpa.recorder.player.PlaybackLogic.playNextAction(PlaybackLogic.java:154)
at com.workfusion.studio.rpa.recorder.player.PlaybackLogic.run(PlaybackLogic.java:112)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.openqa.selenium.WebDriverException: java.lang.ClassNotFoundException: com.workfusion.desktop.driver.ocr.impl.OcrException cannot be found by com.workfusion.studio.dependencies.rpa-api_9.4.0.3
Build info: version: ‘9.4.0.4’, revision: ‘1fbe520b9b’, time: ‘2019-06-20T13:08:57.971Z’
System info: host: ‘TAT-042’, ip: ‘10.7.1.58’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘1.8.0_121’
Driver info: driver.version: RemoteWebDriver
at org.openqa.selenium.remote.internal.CustomWrapper.isCustomWrapperElement(CustomWrapper.java:44)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:218)
at org.openqa.selenium.remote.JsonToBeanConverter.convertMap(JsonToBeanConverter.java:351)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:228)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:48)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:149)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:48)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:82)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:45)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:741)
at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:677)
at com.workfusion.rpa.helpers.Ocr.proccessImage(Ocr.java:202)
at com.workfusion.rpa.helpers.Ocr.proccessImage(Ocr.java:89)
at com.workfusion.rpa.helpers.Ocr$proccessImage.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at Script5.run(Script5.groovy:9)
at com.workfusion.studio.rpa.recorder.playback.shell.GroovyShellWrapper.executeScript(GroovyShellWrapper.java:48)
at com.workfusion.studio.rpa.recorder.playback.player.PlaybackContext.executeScript(PlaybackContext.java:108)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.executeBehavior(TemplateAction.java:33)
at com.workfusion.studio.rpa.recorder.playback.flow.StandardControlFlow.execute(StandardControlFlow.java:46)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:28)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:15)
at com.workfusion.studio.rpa.recorder.playback.player.ActionPlayer.next(ActionPlayer.java:81)
at com.workfusion.studio.rpa.recorder.player.PlaybackLogic.playNextAction(PlaybackLogic.java:154)
at com.workfusion.studio.rpa.recorder.player.PlaybackLogic.run(PlaybackLogic.java:112)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.ClassNotFoundException: com.workfusion.desktop.driver.ocr.impl.OcrException cannot be found by com.workfusion.studio.dependencies.rpa-api_9.4.0.3
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:508)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:419)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:411)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:150)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:264)
at org.openqa.selenium.remote.internal.CustomWrapper.isCustomWrapperElement(CustomWrapper.java:42)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:218)
at org.openqa.selenium.remote.JsonToBeanConverter.convertMap(JsonToBeanConverter.java:351)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:228)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:48)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:149)
at org.openqa.selenium.remote.JsonToBeanConverter.convert(JsonToBeanConverter.java:48)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:82)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:45)
at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:164)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:741)
at org.openqa.selenium.remote.RemoteWebDriver.executeScript(RemoteWebDriver.java:677)
at com.workfusion.rpa.helpers.Ocr.proccessImage(Ocr.java:202)
at com.workfusion.rpa.helpers.Ocr.proccessImage(Ocr.java:89)
at com.workfusion.rpa.helpers.Ocr$proccessImage.call(Unknown Source)
at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:116)
at Script5.run(Script5.groovy:9)
at com.workfusion.studio.rpa.recorder.playback.shell.GroovyShellWrapper.executeScript(GroovyShellWrapper.java:48)
at com.workfusion.studio.rpa.recorder.playback.player.PlaybackContext.executeScript(PlaybackContext.java:108)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.executeBehavior(TemplateAction.java:33)
at com.workfusion.studio.rpa.recorder.playback.flow.StandardControlFlow.execute(StandardControlFlow.java:46)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:28)
at com.workfusion.studio.rpa.recorder.playback.action.template.TemplateAction.execute(TemplateAction.java:15)
at com.workfusion.studio.rpa.recorder.playback.player.ActionPlayer.next(ActionPlayer.java:81)
at com.workfusion.studio.rpa.recorder.player.PlaybackLogic.playNextAction(PlaybackLogic.java:154)
at com.workfusion.studio.rpa.recorder.player.PlaybackLogic.run(PlaybackLogic.java:112)
at java.lang.Thread.run(Thread.java:745)

Would you be able to advise how to fix this error?
I’m using Version 2.4.0.1329.

I would appreciate it if you give me a response.

Best regards,
kenji S.

Hi @Kenji.S

Could you please clarify if it occurs with every OCR action or with a specific OCR action?
Also, is your OCR indicator green or red?image
If it’s red, could you hover over it and tell what it says?

Hi Igor,

Thank you so much for your quick response.

My OCR indicator shows green.
image
It looks like the error has been occurred in this OCR action only.

However other few OCR actions have another issue which cannot extract a word from PDF.
These OCR actions passed well and if I checked a execution-result.log.csv, there were no data on each string value.

Does it mean my OCR could not recognize a word from PDF?
I tried to extract Japanese words from PDF choosing Japanese language in OCR action.

Please advise.
Best regards,
Kenji.S

@Kenji.S can you share your recording and example of the document from which you are trying to extract text? We’ll have a look.

Hi Alesia,

Thank you for your response.
My recording is below. (Sorry for these actions in Japanese.)


image

I have tried to extract text below.

image
output to “date_1:string”

image
Output to “item_1:string”

image
Output to “amount_1:string”

Above mentioned texts could pass the actions. (action# 1 to 6)

image
Output to “date_2:string”
The error occurred which mentioned in the first inquiry after this action.

The execution-result.log.csv in these action below.
image
Some extracted texts were garbled.

I would appreciate it if you could give me some advice.
Best regards,
Kenji.S

1 Like

@Kenji.S can you share a sample file you use for OCR and a screenshot of an OCR action?