日本語での氏名を認識する場合、姓・苗字と名前の間のスペースを読み取りたい - FlexiCapture 12

FlexiCaptureでは、日本語のテキストを認識する時、スペースが無視されることがあります。

氏名を取得する際、名字と名前の間のスペースが必要な場合は、以下の2つの方法でスペースを取得できます。

(A)結合ルールを用いた方法(姓・苗字と名前の別々の取得が必要)

姓・苗字と名前を別々に取得し、フィールドの結合ルールを用いて、1つのフィールドに値を結合し、セパレータとして、「 」(スペース) を使えます。以下の手順を参照下さい。
※手順では例として静的フィールドが使われていますが、必要になれば、FlexiLayoutで取得したフィールドも同じように結合できます。

1.姓と名を別々に取得します。
「検証時の表示」 と 姓と名の別々の「エクスポート」 が不要な場合は、「検証時に表示」と「フィールド値をエクスポート」オプションをオフにします。


2.別途、領域のないテキストフィールドを作成します。


3.結合ルール を追加します。ルール の設定は以下のようになります。
※セパレーターを「 」(スペース)に指定します。

(B)スクリプトルールを用いた方法(苗字と名前の別々の取得は不要)

詳しくはこちらの記事をご覧ください。

文書定義 - フィールド - スペースを検知して挿入したい - FlexiCapture

大きくは次のような流れとなります。

  1. 氏名のフィールド全体を取得します。
  2. スクリプトルールを作成します。スクリプトルールの作成について詳しくは、以下のURLを参照下さい。
    スクリプトルール
    スクリプトルール
    カスタムルール作成用のサンプルスクリプト
  3. ルールのスクリプトでは、ICharacterParamsオブジェクトを用いて、Rectプロパティで文字を含む長方形を取得します。
    ICharacterParams
  4. 2つの隣の文字の長方形を取得し、距離を取得します。
  5. 距離が大きい方の文字の間、スペースを追加します。

 

関係する記事

他にご質問がございましたら、リクエストを送信してください

コメント

0件のコメント

サインインしてコメントを残してください。