SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ComponentZine(ComponentOne)

テキストデータから印刷ドキュメントを作成する.NETアプリケーションの作成

ComponentOne StudioのReports for Windows Formsを使ったWindowsアプリケーションの作成

  • このエントリーをはてなブックマークに追加

アプリケーションの作成

 では、さっそくアプリケーションを作成していきましょう。今回はとてもシンプルなWindowsフォームになっています。使用するのは、C1PrintDocument/C1PrintPreviewControlコントロールだけです。

作成するWindowsフォーム
作成するWindowsフォーム

フォームのデザイン

 新しいプロジェクトを用意したら、フォームにC1PrintDocument/C1PrintPreviewControlコントロールを配置します。

  1. ツールボックスにある、C1PrintDocumentコントロールのアイコンをダブルクリックします。フォームデザイナの下部にC1PrintDocumentコントロールが配置されます。
  2. ツールボックスにある、C1PrintPreviewControlコントロールのアイコンをダブルクリックします。フォームの上にC1PrintPreviewControlコントロールが配置されますが、フォームが小さいためフォームからはみ出ているので、フォームのサイズを大きくします。
  3. C1PrintPreviewControlコントロールがフォームからはみ出て配置される
    C1PrintPreviewControlコントロールがフォームからはみ出て配置される
  4. C1PrintPreviewControlコントロールのスマートタグから「親コンテナにドッキングする」を選び、フォームとドッキングさせます。
  5. 「親コンテナにドッキングする」を選ぶ
    「親コンテナにドッキングする」を選ぶ
  6. プロパティウィンドウの[Document]プロパティをクリックし、リストから「C1PrintDocument1」を選びます。これで、C1PrintPreviewControlコントロールとC1PrintDocumentコントロールが連動するようになります。
  7. プロパティウィンドウのオブジェクトリストから「PreviewPane」を選び、「ZoomFactor」プロパティを「0.75」に変更します。このプロパティは、プレビューの表示サイズを設定するプロパティで、「0.75」は75%表示になります。
  8. オブジェクトリストから「PreviewPane」を選ぶ
    オブジェクトリストから「PreviewPane」を選ぶ

 以上でフォームのデザインは完成です。この時点でプログラムを実行すると、中身のないプレビューウィンドウが表示されます。左側のペインにはドキュメントのページごとのサムネイルが、右のペインには選択したページのプレビューが表示されます。

中身が空のプレビューが表示される
中身が空のプレビューが表示される

ドキュメント作成コードの作成

 では、実際にドキュメントを作成していきます。今回は、2つのテキストファイルを読み出し、整形した文書に仕上げます。テキストファイルは、簡単な文章が数行入っているだけのものです。

テキストファイルの中身
テキストファイルの中身

コードから直接文字列を記述する

 最初に、C1PrintDocumentコントロールのBodyオブジェクトを使用して、コードから直接文字列を記述してドキュメントを作成してみましょう。フォームのLoadイベントハンドラに、次のコードを記述します。

Visual Basic
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
C#
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メソッドでドキュメントを生成します。

1行の文章が記述されたドキュメントが作成される
1行の文章が記述されたドキュメントが作成される

次のページ
ブロックフローで文章を記述する

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
ComponentZine(ComponentOne)連載記事一覧

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

8ビットコンピュータの時代からBASICを使い、C言語を独習で学びWindows 3.1のフリーソフトを作成、NiftyServeのフォーラムなどで配布。Excel VBAとVisual Basic関連の解説書を中心に現在まで40冊以上の書籍を出版。近著に、「ExcelユーザーのためのAccess再...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5515 2010/10/20 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング