2014-09-26 6 views
0

У нас есть два источника входных данных для создания пакета сначала - импорт папок, а второй - импорт электронной почты.Условное вращение OCR на изображении или странице в KOFAX

Мне нужно добавить условие, где, если источником изображения является электронная почта, он не должен позволять поворачивать изображение и, как мудрый, если источник, если импортировать папку, он должен вращать изображение.

Я добавил скрипт для этого в KTM. Он показывает правильное сообщение источника изображения, но не останавливает поворот изображения.

Ниже приведен скрипт для справки.

Public Function setRotationRule(ByVal pXDoc As CASCADELib.CscXDocument) As String 
    Dim i As Integer 
    Dim FullPath As String 
    Dim PathArry() As String 

    Dim xfolder As CscXFolder 

    Set xfolder = pXDoc.ParentFolder 

    While Not xfolder.IsRootFolder 
     Set xfolder = xfolder.ParentFolder 
    Wend 
    'Added for KTM script testing 
    FullPath= "F:\Emailmport\[email protected]_09-01-2014_10-02-37\dfdsg.pdf"' 

    If xfolder.XValues.ItemExists("AC_FIELD_OriginalFileName") Then 
     FullPath= xfolder.XValues.ItemByName("AC_FIELD_OriginalFileName").Value 
    End If 

    PathArry() = Split(FullPath,"\") 
    MsgBox(PathArry(1)) 

    If Not PathArry(1) = "EmailImport" Then 
     For i = 0 To pXDoc.CDoc.Pages.Count - 1 
      pXDoc.CDoc.Pages(i).Rotation = Csc_RT_NoRotation 
     Next i 
    End If 

End Function 
+0

Не 'vbscript', но этот' Not PathArry (1) = "EmailImport" 'всегда возвращает' true' из-за ошибки ввода в 'FullPath = 'F: \ Emailmport \ dilipnikam ...' – JosefZ

+0

Вы подтвердили что это произошло не из-за описанной выше опечатки? С какого события вы вызываете эту функцию? –

ответ

0

КТМ Scripting Помощь имеет неверную тему под названием «Динамически Подавить Ориентацию обнаружение для полной страницы OCR», где он показывает установку Csc_RT_NoRotation от события Document_AfterClassifyXDoc.

Причина, по которой я думаю, что это вводит в заблуждение, состоит в том, что ротация, возможно, уже произошла до этого события и, таким образом, установка свойства не имеет никакого эффекта. Это может произойти, если выполняется классификация раскладок, или если OCR выполнил (что может быть вызвано классификацией контента, или если любой локатор уровня проекта нуждается в OCR). Образец в этой теме предполагает, что он предназначен только для использования, когда классификаторы не используются, но это может быть объяснено лучше.

Код, который вы показали, лучше всего вызывать из события Document_BeforeProcessXDoc. Это будет выполняться до начала всей фазы классификации (включая локаторы уровня проекта), гарантируя, что ротация уже не могла произойти.

Конечно, убедитесь, что это не из-за опечатки или чего-либо еще, что предотвращает выполнение кода, как указано в комментариях.

+0

Привет, Стивен, я не уверен, что это может быть точной причиной отсутствия вращения, потому что, как было предложено Kofax «Csc_RT_NoRotation» из события Document_AfterClassifyXDoc i вызвали событие в Document_BeforeClassifyXDoc, он работал нормально, но я не могу добавить условное вращение к нему на основе Scanned и Eamil Invoice Source к нему. Попробуйте также в событии Document_BeforeProcessXDoc. Спасибо за ваше предложение. Пожалуйста, продолжайте отправлять. –

+0

Вы исправили опечатка, о которой упоминалось в предыдущих комментариях? "Emailmport" =/= "EmailImport" –

+0

Отдельно, OriginalFileName - это поле, которое отображается в поле корневой папки в инструменте синхронизации, или просто неотображенное поле Kofax Capture, которое вы хотите использовать из сценария? Если позже, убедитесь, что вы проверили опцию, указанную в этом ответе: http://stackoverflow.com/a/25951923/221018 Считайте также, что, поскольку ваш код в настоящее время написан, если существует XValue, он заменит ваш тестовое значение, даже если оно пустое. –