Reports for WinForms
C1MultiDocument の使い方

C1MultiDocumentコンポーネントは、メモリの制限により、単一のC1PrintDocument オブジェクトでは処理できない大きなドキュメントを作成、保持、エクスポートできるように設計されています。

C1MultiDocument オブジェクトは、C1MultiDocumentItem 型の要素を複数格納できる Items コレクションを提供します。 これらの要素はそれぞれ C1PrintDocument を表します。 圧縮と一時ディスク格納の使用により、すべてのページが単一の C1PrintDocument に属していると、メモリ不足を引き起こすような複数の C1PrintDocument オブジェクトを、1つの大きなマルチドキュメントにまとめることができます。以下のコードの断片は、マルチドキュメントの作成およびプレビュー方法を示しています。

Visual Basic コードの書き方

Visual Basic
コードのコピー
Dim mdoc As New C1MultiDocument()
mdoc.Items.Add(C1PrintDocument.FromFile("myDoc1.c1dx"))
mdoc.Items.Add(C1PrintDocument.FromFile("myDoc2.c1dx"))
mdoc.Items.Add(C1PrintDocument.FromFile("myDoc3.c1dx"))
Dim pview As New C1PrintPreviewDialog()
pview.Document = mdoc
pview.ShowDialog()

C# コードの書き方

C#
コードのコピー
C1MultiDocument mdoc = new C1MultiDocument();
mdoc.Items.Add(C1PrintDocument.FromFile("myDoc1.c1dx"));
mdoc.Items.Add(C1PrintDocument.FromFile("myDoc2.c1dx"));
mdoc.Items.Add(C1PrintDocument.FromFile("myDoc3.c1dx"));
C1PrintPreviewDialog pview = new C1PrintPreviewDialog();
pview.Document = mdoc;
pview.ShowDialog();

C1MultiDocument は、含まれている文書の間のリンク、共通の目次、共通ページ記数、および総ページ数をサポートします。

C1MultiDocument は、追加された C1PrintDocument オブジェクトへの参照を格納せず、(.c1d/x などに)シリアル化して、その結果を格納する点に注意してください。したがって、メモリ不足に陥ることなく、本当に大きなマルチドキュメントを作成することができます。もちろん、コード自体が、C1MultiDocument に追加された個々の C1PrintDocument オブジェクトへの参照を保持していないことが前提です。 C1MultiDocument を使用する際は、ドキュメントオブジェクトをマルチドキュメントに追加した後、個々のドキュメントオブジェクトを保持していないことを確認してください。

C1MultiDocument は、デフォルトの拡張子 .c1mdx でC1 Open XML Multi Documentとして永続化することができます。

C1MultiDocument は、Export メソッドのオーバーロードを使用して、ほとんどの形式にエクスポートすることができます。 詳細については、 C1MultiDocument ファイルのエクスポートを参照してください。

C1MultiDocument は、Printメソッドおよび PrintDialog メソッドのオーバーロードを使用して印刷することができます。 詳細については、C1MultiDocument ファイルの印刷を参照してください。

関連トピック