テーブルから空行を削除する方法

質問

認識の結果からテーブルの空行を削除することができますか。

回答

以下の方法が使えます。

  • テーブルをFlexiLayoutで取得する場合、「表」要素を使わなく、繰り返しグループでテーブルを取得する場合、取得方法をコントロールできます。ですので、繰り返しグループでテーブルを取得すると、ほとんどの場合、不要なデータ(空行等)を取得しないように設定できます。
  • ワークフローにカスタム(スクリプト)ステージを追加し(または、イベントハンドラのスクリプトを追加し)、スクリプトで空行を削除します。以下のC#のサンプルスクリプトは、「Table」テーブルの「EmptyFieldName」列のテキストが空である場合、行を削除します。
    string table = "Document Section 1\\Table";
    int rowCount = Document.Field(table).Items.Count;

    for (int i = 0; i < rowCount; i++){
        if (Document.Field(table).Rows[i].Field("EmptyFieldName").Text == ""){
            Document.Field(table).Rows.Delete(i);
    rowCount -= 1;
        }
    }
  • カスタムエクスポート(スクリプトエクスポート)を作成し、エクスポートのスクリプトで不要な行をエクスポートしません。

追加情報

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

コメント

0件のコメント

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