0

我们有两个输入源来创建批处理,第一个是文件夹导入,第二个是电子邮件导入。

我需要添加条件,如果图像的来源是电子邮件,它不应该允许旋转图像,同样,如果源如果文件夹导入它应该旋转图像。

我在 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
4

1 回答 1

0

KTM 脚本帮助有一个名为“动态抑制整页 OCR 的方向检测”的误导性主题,其中显示了从 Document_AfterClassifyXDoc 事件设置 Csc_RT_NoRotation。

我认为这是误导的原因是因为在该事件之前可能已经发生了轮换,因此设置该属性无效。如果布局分类已经运行,或者如果 OCR 已经运行(可以由内容分类触发,或者如果任何项目级定位器需要 OCR),就会发生这种情况。该主题中的示例确实表明它仅在不使用分类器时使用,但可以更好地解释。

您显示的代码最好从事件 Document_BeforeProcessXDoc 中调用。这将在整个分类阶段(包括项目级定位器)之前运行,以确保不会发生轮换。

当然,还要确保这不是因为拼写错误或其他任何阻止代码实际执行的原因,如注释中所述。

于 2014-10-05T23:58:33.863 回答