文書定義のサービスフィールドのファイル名のところだけをフィールドに出力する方法

質問

文書定義のサービスフィールドのファイル名のところだけをフィールドに出力する方法を教えてください。あるプロジェクトの文書は複数ページから複数の文書セクションでアセンブルされている文書ですが、別のプロジェクトでは単一文書セクションの文書で構成されています。

回答

文書の構成により、複数の文書セクションでアセンブルされている文書の場合と、単一文書セクションの文書の場合とで処理がございます。

事前に文書定義で、出力先のフィールドを作成します。

その後プロジェクトのプロパティのイベントハンドラの中で、文書状態変更後のスクリプトを作成して C# で以下のスクリプトを設定します。

mceclip0.png

mceclip1.png

// 複数の文書セクションでアセンブルされている文書の場合
// C#「文書状態変更後」イベントハンドラのスクリプトです。

//文書が既にアセンブリされている状態のみで実行します。
if (Document.IsAssembled) {

    // ページ数を取得します。
    int PageCount = Document.Pages.Count;

    // 各ページ毎に文書セクションに属する Text フィールド(フィールドの名:Field とした場合)に、参照したファイル名を設定する
    for (int i = 0; i < PageCount; i++) {
        Document.Field("ドキュメントセクション名 [" + i + "]\\test").Text = Document.Pages[i].ImageSourceFileSubPath;
    }
}
// 単一文書セクションの文書の場合
// C#「文書状態変更後」イベントハンドラのスクリプトです。

//文書が既にアセンブリされている状態のみで実行します。
if (Document.IsAssembled) {
   
    // ページ数を取得します。
  int PageCount = Document.Pages.Count;

    // 各ページ毎に文書セクションに属する Text フィールド(フィールドの名:Field とした場合)に、参照したファイル名を設定する
    for (int i = 0; i < PageCount; i++) {
      Document.Field("ドキュメントセクション名\\Field").Text = Document.Pages[i].ImageSourceFileSubPath;
    }
}

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

コメント

0件のコメント

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