- ABBYY FlexiCaptureの導入
- プログラムのインストールと実行
- ABBYY FlexiCaptureアーキテクチャ
-
プログラム設定
- ABBYY FlexiCapture設定
- マルチテナンシー
- プロジェクトの作成
-
文書定義
- 修正済み文書定義の作成
- 半構造化文書の文書定義の作成
- 自動データ抽出が不要な文書の文書定義の作成
- 文書セット
- 文書定義フィールド
- 文書定義ウィザード
- 文書定義の編集および発行
- 文書定義の作成
- 文書定義プロパティ
- 文書定義セクションのプロパティ
- ルールの確認
- 設定のエクスポート
- 文書ウィンドウでのデータ表示の設定
- 文書定義のテスト
- 文書定義のローカライズ
- 分類
- フィールド抽出トレーニング
- 設定されたプロジェクトの操作
-
インボイス用のABBYY FlexiCapture
- インボイス用のABBYY FlexiCapture の機能
- インボイスをキャプチャする方法
- インボイスキャプチャプロジェクトを設定する方法
- 仕様
- Capturing receipts
- Capturing purchase orders
- Using NLP to process unstructured documents
- 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
- ウェブ検証ステーションのユーザースクリプト
- 機械による読み取りが可能なフォームの作成
- ホットキー
- 追加オプション
- 処理サーバーコマンドの説明
- FlexiCaptureバックアップ
- ABBYY FlexiCapture サンプルプロジェクト
- サポートされる認識言語
- Supported classifier languages
- 正しい文字レンダリングのためのフォント
- サポートされるテキストタイプ
- サポートされるバーコードタイプ
- 対応している入力形式
- PDF ファイルの処理
- 出力ファイル形式
- 日付形式
- 正規表現で使用されるアルファベット
- 特許
- サードパーティ技術
- 用語集
- テクニカル サポート
- ABBYY FlexiCapture の購入方法
- エンドユーザー使用許諾契約(EULA)
-
ABBYY FlexiCapture でのスクリプトの使用
Japanese (日本語) - Change language
サンプルアセンブリスクリプト
フィールド値に依存する条件文書とアセンブリスクリプト
例に含まれるスクリプトは、文書設定定義により定義づけられた文書セットの形に文書をアセンブルします。文書設定定義は借用者フォームと名付けられたセクションおよび以下の文書定義への参照を含みます:
- パスポート
- 保証人書類
- 共同借用者文書
- 雇用者リファレンス
その借用者フォームと名付けられたセクションは以下のフィールドを含みます:
- 共同借用者名
- このドキュメントは含まれる必要があります。
ローン合計フィールド値に依存した文書セットにこのドキュメントは含まれる必要があります。フィールド。このスクリプトは、セット内にどの文書が含むか判断するための2つの閾値をもちます :
- もしローン合計が、第一の閾値よりも低い場合、文書セットはパスポートを含んでさえいれば良いこととなります。
- もしローン合計が、第一の閾値より高く、第二の閾値よりも低い場合、文書セットはパスポートおよび雇用者リファレンスを含んでいる必要があります。
- もしローン合計が第二の閾値より高い場合、文書セットはパスポート、雇用者リファレンス、そして保証人文書を含んでいる必要があります。
これに加えて、共同借用者名フィールドに値があり、文書セットは共同借用者文書を含んでいる必要があります。
以下のスクリプトは、文書セットを組み立てるロジックを使用します。
using System.Collections.Generic; int creditSum = 0; bool creditSumFound = false; string cocreditor = ""; int formCount = 0; string formName = "借用者フォーム"; // この文書セットに使用される文書定義 int referenceFromWorkCount = 0; string referenceFromWorkName = "雇用者リファレンス"; int guaranteeDocsCount = 0; string guaranteeDocsName = "保証人の文書"; int cocreditorDocsCount = 0; string cocreditorDocsName = "共同借用者の文書"; int passportCount = 0; string passportName = "パスポート"; foreach( IBatchItem item in BatchItems ) { // フォームを探して、ローンの合計値を決定してください if (item.Type == TBatchItemType.BIT_Page) { if (item.AsPage.SectionName != formName) AssemblingErrors.AddCustomError("以下のセクションを含むことは出来ませ ん:" + item.AsPage.SectionName, 1); else { cocreditor = item.AsPage.Document.IndexedItemValue("借用者名").ToString(); string creditSumText = item.AsPage.Document.IndexedItemValue("ローン合計").ToString(); if (!int.TryParse(creditSumText, out creditSum)) AssemblingErrors.AddCustomError("ローン合計は認識されませんでし た:" + creditSumText, 1); else creditSumFound = true; formCount++; } } // セット内の文書およびページ数をカウント else if (item.Type == TBatchItemType.BIT_Document) { if (item.AsDocument.TemplateName == referenceFromWorkName) referenceFromWorkCount++; else if (item.AsDocument.TemplateName == guaranteeDocsName) guaranteeDocsCount++; else if (item.AsDocument.TemplateName == passportName) passportCount++; else if (item.AsDocument.TemplateName == cocreditorDocsName) cocreditorDocsCount++; else AssemblingErrors.AddCustomError("この文書セットは当該文書を含むことは出来ません" + item.AsDocument.TemplateName, 1); } } // セット内のセクションと文書の数を確認します if (formCount > 1) AssemblingErrors.AddCustomError("文書タイプが多すぎます:" + formName, formCount); else if (formCount < 1) AssemblingErrors.AddCustomError("以下の文書が不足しています:" + formName, 1); if (passportCount > 1) AssemblingErrors.AddCustomError("文書タイプが多すぎます:" + passportName, passportCount); else if (passportCount < 1) AssemblingErrors.AddCustomError("以下の文書が不足しています:" + passportName, 1); // もし共同借用者名がフォーム内にある場合、文書セットが共同借用者を含んでいるか確認してください if (cocreditor != "" && cocreditorDocsCount < 1) AssemblingErrors.AddCustomError("以下の文書が不足しています:" + cocreditorDocsName, 1); else if (cocreditor != "" && cocreditorDocsCount > 1) AssemblingErrors.AddCustomError("文書タイプが多すぎます:" + cocreditorDocsName, cocreditorDocsCount); else if (cocreditor == "" && cocreditorDocsCount > 0) AssemblingErrors.AddCustomError("文書タイプが多すぎます:" + cocreditorDocsName, cocreditorDocsCount); // 文書セットが、閾値の一つを超えたローン合計により必要な全ての文書を含んでいるか確認してください if (creditSumFound) { if (creditSum > 50000) // 雇用主の問い合わせ先 { if (referenceFromWorkCount > 1) AssemblingErrors.AddCustomError("文書タイプが多すぎます:" + referenceFromWorkName, referenceFromWorkCount); else if (referenceFromWorkCount < 1) AssemblingErrors.AddCustomError("以下の文書が不足しています:" + referenceFromWorkName, 1); } if (creditSum > 500000) // 保証人文書が必要です { if (guaranteeDocsCount > 1) AssemblingErrors.AddCustomError("文書タイプが多すぎます:" + guaranteeDocsName, guaranteeDocsCount); else if (guaranteeDocsCount < 1) AssemblingErrors.AddCustomError("以下の文書が不足しています:" + guaranteeDocsName, 1); } }
不足している文書を確認するアセンブリスクリプト
識別文書を含んだ例をもつスクリプト文書設定定義。文書設定定義は、以下の文書定義を含みます:
- パスポート
- 運転免許証
スクリプトにより生成された文書はこれらのタイプの一つを含む場合がありますが、これらタイプの少なくともひとつの文書のみとなります。
以下のスクリプトは、文書セットを組み立てるロジックを使用します。
using System.Collections.Generic; using System; string docSetName = "識別文書"; int pagesCnt = 0; // このセットに含まれる場合がある文書タイプのリスト List<string> allowed = new List<string> {"パスポート", "運転免許証"}; // セット内の各文書タイプに対する制限数 List<int> allowedCount = new List<int>{1,1}; // セット内で検出された文書数 List<int> foundCount = new List<int>{0,0}; // セット内の文書およびページ数をカウント foreach (IBatchItem item in BatchItems) { if (item.Type == TBatchItemType.BIT_Document) { if (item.AsDocument.TemplateName == docSetName) AssemblingErrors.AddCustomError("文書の最大数: ", 1); else if (allowed.Contains(item.AsDocument.TemplateName)) { int i = allowed.IndexOf(item.AsDocument.TemplateName); foundCount[i]++; } } else if (item.Type == TBatchItemType.BIT_Page) pagesCnt++; } // 文書及びページ数を確認 if (foundCount[0] + foundCount[1] == 0) AssemblingErrors.AddCustomError("少なくともひとつの認証文書が必要です", 1); for (int i = 0; i < allowed.Count; i++) { if (foundCount[i] > allowedCount[i]) AssemblingErrors.AddCustomError("文書の最大数:" + allowed[i] + ": " + allowedCount[i]); } if (pagesCnt > 0) AssemblingErrors.AddCustomError("文書セットは文書に付帯していないページを含む ことは出来ません", pagesCnt);
14.01.2021 14:17:22