无法在KTM上旋转的发票上执行橡皮筋验证

问题描述:

我们无法在验证阶段旋转的图像上执行橡皮筋。 有没有什么办法可以在旋转图像和手动旋转图像之前保存OCR索引字段的数据。 一旦图像旋转,所有索引字段变为无效,用户也不能在同一图像上执行橡皮筋。 旋转图像后,我们将同一批次移动到KTM服务器并返回到KTM验证仍然无法使用橡皮筋无法在KTM上旋转的发票上执行橡皮筋验证

对此没有明确简单的答案,但我可以提供一些选项。首先几个澄清。即使你已经知道这些,这将有助于问题更有意义,其他:

  • 虽然的Kofax Capture实际上并纬向OCR阅读点播当你套住图像的部分,的Kofax变换模块实际上只是返回已在KTM服务器期间执行的OCR坐标内的单词。
  • 开箱即用,KTM验证只能够进行“永久性”旋转,因为它不是简单地旋转您目前看到的内容,而是将旋转保持在磁盘上的图像上或元数据(取决于项目设置)。
  • 旋转的含义是存储的OCR不再适用于新的方向,因此它被删除。任何具有字对象(与OCR绑定)的字段都将被删除并失效。
  • KTM服务器已将该批处理标记为已处理,因此不会再尝试。

旋转

我相信如果你从现场移除字对象那么就不会清楚它旋转的过程中保留域结果。您可能还需要取消设置页面索引,以使其未连接到正在旋转的页面。

Dim FieldIndex as Integer 
For FieldIndex=0 to pXDoc.Fields.Count-1 
    While pXDoc.Fields.ItemByIndex(FieldIndex).Words.Count>0 
     pXDoc.Fields.ItemByIndex(FieldIndex).Words.Remove(0) 
    Wend 
pXDoc.Fields.ItemByIndex(FieldIndex).PageIndex=-1 
Next 

如果有任何这方面的问题,您也可以采取其他的方法来存储和在Batch_BeforeRotateImage和Batch_AfterRotateImage事件还原值。

橡皮OCR(套索字)旋转后

没有明确简单的方法来做到这一点。我认为在旋转之后建议从脚本调用OCR,但除了是否支持相关对象的灰色区域之外,尝试显示OCR组件甚至不会加载到验证中。

不同的方向:仅旋转显示图像

我刚才提到的开箱KTM验证不能只是做一个临时的旋转,但是,如果你不需要旋转坚持,你可以在脚本中做到这一点。使用此功能:

Public Sub RotateCurrentValidationImage(pXDoc As CscXDocument, ValForm As CscScriptValidationForm, Optional RotateCounterClockwise As Boolean=False) 
    Dim Img As CscImage 
    Set Img=pXDoc.CDoc.Pages(ValForm.CurrentPageIndex).GetImage() 
    Img.RotateImage(IIf(RotateCounterClockwise,CscImgRotation90Left,CscImgRotation90Right)) 
    pXDoc.CDoc.Pages(ValForm.CurrentPageIndex).SetImage(Img) 

    ValForm.DocViewer.DisplayPage(-1) 
    ValForm.DocViewer.DisplayPage(ValForm.CurrentPageIndex) 
End Sub 

从按钮的Click事件,像这样:

Private Sub ValidationForm_ButtonClicked(ByVal ButtonName As String, ByVal pXDoc As CASCADELib.CscXDocument) 
    Select Case ButtonName 
     Case "RotateDisplayImage" 
     RotateCurrentValidationImage(pXDoc,ValidationForm) 
    End Select 
End Sub 

这只在内存中旋转当前显示的图像。它不会影响现有的OCR(它仍然存在,但它也不能被旋转以匹配图像的坐标),也不会影响现有的字段,一旦批次关闭,旋转也不会持续。

在这种情况下,橡皮条OCR 在技术上作品,但是文字和图像不会排队,所以它不会在旋转时有用。如果您需要旋转以手动键入某些内容,这可能会有所帮助,但橡皮筋OCR仅在返回原始方向时才有用。

+0

谢谢斯蒂芬对于你的投入非常有帮助。我需要一个更多的帮助,因为您知道OCR自动执行图像上的旋转,我希望OCR根据图像来源对图像执行条件旋转。我希望图像应该自动旋转,当源是电子邮件时,它不应该允许旋转当源文件夹导入 – 2014-09-26 11:21:06

+0

很高兴它是有帮助的。尽量避免在评论中提出新问题。我发现你已经分别问过这个问题哪个好:http://*.com/questions/26058703/conditional-ocr-rotation-on-the-image-or-page-in-kofax 我花了尽量回答你的两个问题,但如果你没有把答案标记为已接受,我不愿意看到另一个问题。 – 2014-09-30 00:51:16

+0

嗨@Stephen我已经接受你的答案。我很感谢你的宝贵意见非常有帮助。为了将问题的分辨率加起来,我们将图像移回扫描队列,然后在扫描队列中旋转图像后,我们可以在图像上执行橡皮筋。 – 2014-09-30 07:20:52