- ABBYY FlexiCaptureの導入
- ABBYY FlexiCaptureアーキテクチャ
-
ABBYY FlexiCapture でのスクリプトの使用
- .Net 言語で書かれるスクリプトの仕様
- 外部アセンブリ
- スクリプトエディタ
- オブジェクトモデル
-
処理ステージのカスタマイズのためのスクリプト
- スクリプトの種類
-
オブジェクト
- IActionResult
- IAssemblingError
- IAssemblingErrors
- IBatch
- IBatchCheckResults
- IBatchItem
- IBatchItems
- IBatchTypeClassifier
- IBatchTypeClassifierResult
- IBinarizationParams
- IBoxedBoolean
- ICharacterParams
- ICharactersParams
- ICheckmarkGroupValue
- ICheckmarkValue
- IDataSet
- IDataSetQuery
- IDataSetRecord
- IDocument
- IDocuments
- IDocumentExportResults
- IDocumentsExportResults
- IDocumentDefinitionInfo
- IDocumentDefinitionInfoArray
- IEditablePictureObject
- IExportFieldsToRedact
- IExportImageSavingOptions
- IField
- IFieldRegion
- IFieldRegions
- IFields
- IFlexiCaptureTools
- ILocalContrastParams
- IMatchedSectionInfo
- IMatchingInfo
- IPage
- IPageClassificationResult
- IPages
- IPictureObject
- IPictureObjectsInfo
- IPrincipal
- IPrincipals
- IProcessingCallback
- IProject
- IProperties
- IProperty
- IPropertyModificationInfo
- IRecordCheckResult
- IRecordset
- IRect
- IRects
- IRoutingRuleResult
- IRuleContext
- IRuleError
- IRuleErrors
- IRuleTag
- IRuleTags
- IScriptBinaryAttributes
- IScriptDefinitionContext
- ISectionDefinitionInfo
- ISectionDefinitionInfoArray
- IShadowsHighlightsParams
- IStageInfo
- IUserAttachment
- IUserAttachments
- IUserSessionInfo
- IValue
- IVARIANTArray
- TAssemlingErrorType
- TBatchItemType
- TColorToFilter
- TExportFieldType
- TExportType
- TImageCompressionType
- TPageClassificationType
- TPdfAVersion
- TPdfDocumentInfoType
- TPdfTextSearchAreaType
- TPrincipalType
- TProcessingPriority
- TPropertyType
- TRuleErrorType
- TStateType
- サンプルスクリプト
- 認識言語の内部名
-
インターフェイスイベントの処理スクリプト
- イベントハンドラ
-
オブジェクト
- IBoolean
- IBoxedFieldControl
- IDocumentEditor
- IDocumentItem
- IDocumentItems
- IDocumentsCollection
- IDocumentsWindow
- IDrawContext
- IErrorControl
- IErrorControls
- IErrorsWindow
- IFieldControl
- IFieldRegionControl
- IFieldRegionControls
- IFormWindow
- IImageWindow
- IMainMenu
- IMainWindow
- IMenu
- IMenuItem
- IPageControl
- IPageItem
- IPageItems
- IPagesCollection
- IPoint
- ISelection
- IShellRational
- IShellRect
- IShellRects
- ITaskWindow
- ITextEditor
- IToolbar
- IToolbarButton
- IToolbars
- TCommandBarType
- TCommandID
- TDockingType
- TDocumentState
- TErrorType
- TSelectionType
- TTaskWindowMode
- TTextSize
- TUserRole
- TWorkWindowType
- ウェブ検証ステーションのユーザースクリプト
-
アプリケーションプログラミングインターフェース (API)
- ABBYY FlexiCapture アプリケーションサーバーウェブサービス API について
- ABBYY FlexiCapture アプリケーションサーバーのウェブサービス API の使用
-
参照
- API メソッド
- データタイプ
- ファイルでの作業
- ウェブサービス・モバイルAPI
- ユーザアカウント管理のウェブサービス
- API の使用例
- 検証ステーションをサードパーティシステムへ統合
- 補助設定の構成とウェブステーションのカスタマイズ
- カスタムレポート
- 付録
Japanese (日本語) - Change language
IBatchItems
内容の説明
コレクションIBatchItem。
注:このオブジェクトをローカルのルールチェックのためウェブ検証ステーションで使用することはできません。
メソッド
定義 | 説明 |
Move(item :IBatchItem, position : int) |
エレメントをコレクション内の特定の位置に移動させます。
|
プロパティ
名前 | タイプ | アクセス | 名前 |
Count | int | 読み取り専用 | コレクション内のエレメントの数 |
Move方法の例
スクリプトはいくつかの連続したシナリオを実行します。これによって、スクリプトはソートされていない文書のリストからセットをアセンブルします。
- セットを逆アセンブルします。
- 特定の順序でタイプ別に文書をグループ化します。
- 特定のキーフィールド別に文書をグループ化します。
- 文書をキーフィールドが同じセットにアセンブルします。
サンプルスクリプト
using System.Collections.Generic; IBatchItems batch = Batch.AsBatchItem.ChildItems; List<string> docDefs = new List<string> {"DocSet","Doc1","Doc2"};// ドキュメント結合の命令 // キーフィールドの名前 // (すべての文書でフィールドにインデックスを付け、名前を統一させる必要があります) string keyFieldName = "SSN"; List<string> keyFields = new List<string>(); // 結合を解くセット bool foundChildren = false; do { foreach (IBatchItem itm in batch) { if (itm.ChildItems.Count > 1) { int shift = 0; foreach (IBatchItem subItm in itm.ChildItems) { shift++; batch.Move(subItm, itm.Index + shift); } } } foreach (IBatchItem itm in batch) if (itm.ChildItems.Count > 1) foundChildren = true; } while (foundChildren); // 文書のソート化(セット内に配置する方法) // (例えば、そのすべてのサブ文書が後に続くセット自体) foreach (string docDefName in docDefs) { List<int> indexList = new List<int>(); foreach (IBatchItem itm in batch) if (itm.Type == TBatchItemType.BIT_Document) if (itm.AsDocument.DefinitionName == docDefName) indexList.Add(itm.Index); for (int i = 0; i < indexList.Count; i++) batch.Move(batch[indexList[i]-i], batch.Count); } // バッチでキーフィールドのすべてのオプションを検索する foreach (IBatchItem itm in batch) { if (itm.Type == TBatchItemType.BIT_Document) { string keyFieldValue = (string)itm.AsDocument.IndexedItemValue(keyFieldName); if (!keyFields.Contains(keyFieldValue)) keyFields.Add(keyFieldValue); } } // キーフィールドが同じ文書をアセンブルする foreach (string keyFieldValue in keyFields) { List<int> indexList = new List<int>(); foreach (IBatchItem itm in batch) if (itm.Type == TBatchItemType.BIT_Document) if ((string)itm.AsDocument.IndexedItemValue(keyFieldName) == keyFieldValue) indexList.Add(itm.Index); for (int i = 0; i < indexList.Count; i++) batch.Move(batch[indexList[i]-i], batch.Count); } // キーフィールドが一致する場合に限りセットにサブ文書を移動する // (セットセクションが1番目、子ドキュメントが2番目) int ind = 0; while (ind < batch.Count) { if (batch[ind].Type == TBatchItemType.BIT_Document) // セットの開始を探す if (batch[ind].AsDocument.DefinitionName == docDefs[0]) // 当該セットの後の文書がセットではなく、キーフィールドが一致する場合 // そのセットにそれを追加する while (ind+1 < batch.Count && batch[ind+1].AsDocument.DefinitionName != docDefs[0] && (string)batch[ind+1].AsDocument.IndexedItemValue(keyFieldName) == (string)batch[ind].AsDocument.IndexedItemValue(keyFieldName)) batch[ind].ChildItems.Move(batch[ind+1], batch[ind].ChildItems.Count); ind++; }
サンプルをダウンロードする:Sample_IBatchItems_Move.zip
2/20/2021 12:32:42 PM