Условное вращение 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\dilipnikam@gmail.com_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

1 ответ

Решение

В справке по сценариям KTM есть вводящая в заблуждение тема под названием "Динамическое подавление обнаружения ориентации для полноразмерного распознавания текста", в которой показана настройка Csc_RT_NoRotation из события Document_AfterClassifyXDoc.

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

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

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

Другие вопросы по тегам