0

GemBox を使用して特定のオカレンスにセクション全体を追加しようとしています。

Section section = new Section(documentModel);
documentModel.Sections.Add(section);

ContentRange backgroundCheckSection = documentModel.Content.Find("@@BackGroundChecks").First();
backgroundCheckSection.Start.InsertRange(section);

ContentRange オブジェクトを Section オブジェクトに暗黙的に変換できないため、このコードは機能しません。目標は、そのセクション全体を変数 @@BackgroundChecks が表示される場所に追加することです。私はそれを行う方法を理解していないので、誰かが私を助けることができるかどうか疑問に思っていました.

4

1 に答える 1

0

何を達成したいのか 100% はわかりませんが、セクションのコンテンツ範囲を挿入するには、次の操作を行うだけです。

backgroundCheckSection.Start.InsertRange(section.Content);

あなたが達成したいことについて、より詳細な情報を提供できれば、私はあなたをさらに助けることができます.

それにもかかわらず、ドキュメントにセクションを挿入しないことだと思います(これにより、挿入するセクションが2つに分割されるため、最終的に3つのセクションになります)、そのコンテンツのみを挿入したい指定された場所(プレースホルダー「@@BackGroundChecks」がある場所)へのセクション。

したがって、挿入する代わりに、次のようにコンテンツをsection.Content反復して挿入できます。section.Blocks

foreach(var block in section.Blocks)
    backgroundCheckSection.Start.InsertRange(block.Content);

その後、おそらくそのプレースホルダーを削除したいと思うでしょう:

backgroundCheckSection.Delete();

セクションを挿入する場合は、各セクションがセクション区切りで区切られており、セクションの開始位置を操作できることに注意してください (たとえば、新しいページで開始するか、前のセクションの直後に継続するかなど)。これを行うには、プロパティを設定しsection.PageSetup.SectionStartます。

于 2015-10-03T07:06:24.257 に答える