アプリケーションの作成
では、さっそくアプリケーションを作成していきましょう。今回はとてもシンプルなWindowsフォームになっています。使用するのは、C1PrintDocument/C1PrintPreviewControlコントロールだけです。
フォームのデザイン
新しいプロジェクトを用意したら、フォームにC1PrintDocument/C1PrintPreviewControlコントロールを配置します。
- ツールボックスにある、C1PrintDocumentコントロールのアイコンをダブルクリックします。フォームデザイナの下部にC1PrintDocumentコントロールが配置されます。
- ツールボックスにある、C1PrintPreviewControlコントロールのアイコンをダブルクリックします。フォームの上にC1PrintPreviewControlコントロールが配置されますが、フォームが小さいためフォームからはみ出ているので、フォームのサイズを大きくします。
- C1PrintPreviewControlコントロールのスマートタグから「親コンテナにドッキングする」を選び、フォームとドッキングさせます。
- プロパティウィンドウの[Document]プロパティをクリックし、リストから「C1PrintDocument1」を選びます。これで、C1PrintPreviewControlコントロールとC1PrintDocumentコントロールが連動するようになります。
- プロパティウィンドウのオブジェクトリストから「PreviewPane」を選び、「ZoomFactor」プロパティを「0.75」に変更します。このプロパティは、プレビューの表示サイズを設定するプロパティで、「0.75」は75%表示になります。
以上でフォームのデザインは完成です。この時点でプログラムを実行すると、中身のないプレビューウィンドウが表示されます。左側のペインにはドキュメントのページごとのサムネイルが、右のペインには選択したページのプレビューが表示されます。
ドキュメント作成コードの作成
では、実際にドキュメントを作成していきます。今回は、2つのテキストファイルを読み出し、整形した文書に仕上げます。テキストファイルは、簡単な文章が数行入っているだけのものです。
コードから直接文字列を記述する
最初に、C1PrintDocumentコントロールのBodyオブジェクトを使用して、コードから直接文字列を記述してドキュメントを作成してみましょう。フォームのLoadイベントハンドラに、次のコードを記述します。
Imports C1.C1Preview Imports System.IO Public Class Form1 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load '直接文字を描画 C1PrintDocument1.Body.Children.Add(New C1.C1Preview.RenderText("初めてのドキュメント作成")) C1PrintDocument1.Generate() End Sub End Class
using C1.C1Preview; using System.IO; namespace makedoc_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { this.c1PrintDocument1.Body.Children.Add(new RenderText("初めてのドキュメント作成")); this.c1PrintDocument1.Generate(); } } }
最初の式は、BodyプロパティでDocumentBodyオブジェクトを取得して、Childrenプロパティでドキュメント本体に含まれる描画オブジェクトのコレクションを取得し、Addメソッドでテキストを追加しています。テキストの記述は、RenderTextメソッドを使用し、引数に記述する文字列を指定します。そして、Generateメソッドでドキュメントを生成します。