SHOEISHA iD

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

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

ComponentZine(ComponentOne)

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

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

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

グラフィックスの描画

 続いて、ページのタイトルをグラフィックスメソッドで描画します。

 まず、RenderGraphicsクラスのコンストラクタを実行して、RenderGraphicsオブジェクトを作成します。次に、.NET FrameworkクラスライブラリのSystem.Drawing名前空間にあるGraphicsクラスの、FillEllipseメソッドで楕円を、DrawStringメソッドで見出しの文字を描画します。見出し文字は、楕円にかぶさるように配置します。

FillEllipseメソッドで楕円を、DrawStringメソッドで見出しの文字を描画する
FillEllipseメソッドで楕円を、DrawStringメソッドで見出しの文字を描画する

 そして、前回の記事で紹介した方法で、テキストファイル「sample3.txt」の中身をドキュメントに流し込みます。

Visual Basic
' グラフィックスを作成
C1PrintDocument1.StartDoc()
Dim rg1 As New RenderGraphics()
rg1.Graphics.FillEllipse(Brushes.Aqua, 100, 100, 50, 50)
rg1.Graphics.DrawString("ComponentOne ColorPicker for Silverlight について",
						New Font("MSゴシック", 14, FontStyle.Bold), Brushes.Blue, 120, 110)
C1PrintDocument1.EndDoc()
Visual Basic
' 段落 para3 を作成
Dim para3 As New RenderParagraph()
fname = Application.StartupPath & "\sample3.txt"
data = ""

'ファイルから文字列を読み込む
Try
    Dim sr As StreamReader = New StreamReader(fname, System.Text.Encoding.Default)
    Do
        data = sr.ReadLine()
        para3.Content.AddText(data)
    Loop Until data Is Nothing
    sr.Close()
Catch ex As Exception
    MessageBox.Show(ex.Message)
End Try
C#
// グラフィックスを作成
c1PrintDocument1.StartDoc();
RenderGraphics rg1 =  new RenderGraphics();
rg1.Graphics.FillEllipse(Brushes.Aqua, 100, 100, 50, 50);
rg1.Graphics.DrawString("ComponentOne ColorPicker for Silverlight について", 
                                    new Font("MSゴシック", 14, FontStyle.Bold), Brushes.Blue, 120, 110);
c1PrintDocument1.EndDoc();

// 段落 para3 を作成
RenderParagraph para3 =  new RenderParagraph();
fname = Application.StartupPath + "/sample3.txt";
data = "";

//ファイルから文字列を読み込む
try
{
    StreamReader sr = new StreamReader(fname, System.Text.Encoding.Default);
    while (data != null)
    {
        data = sr.ReadLine();
        para3.Content.AddText(data);
    }
sr.Close();
}
catch (Exception ex)
{
	MessageBox.Show(ex.Message);
}

イメージ画像の挿入

 続いて、ファイルにあるイメージ画像を読み込み、ドキュメントに挿入します。これは、RenderImageクラスをオブジェクト化し、Imageプロパティにファイルの画像を指定するだけです。作成したグラフィックス、段落、イメージをそれぞれBodyセクションに追加し、Generateメソッドでドキュメントを作成すればページのできあがりです。

Visual Basic
' RenderImage を作成します。
C1PrintDocument1.StartDoc()
Dim img As New RenderImage
fname = Application.StartupPath & "\sample.jpg"
img.Image = System.Drawing.Image.FromFile(fname)
img.Width = "100%"
C1PrintDocument1.EndDoc()

' 段落をドキュメントに追加
C1PrintDocument1.Body.Children.Add(rg1)
C1PrintDocument1.Body.Children.Add(para3)
C1PrintDocument1.Body.Children.Add(img)

C1PrintDocument1.Generate()
C#
// RenderImage を作成します。
c1PrintDocument1.StartDoc();
RenderImage img =  new RenderImage();
fname = Application.StartupPath + "/sample.jpg";
img.Image = System.Drawing.Image.FromFile(fname);
img.Width = "100%";
c1PrintDocument1.EndDoc();

// 段落をドキュメントに追加
c1PrintDocument1.Body.Children.Add(rg1);
c1PrintDocument1.Body.Children.Add(para3);
c1PrintDocument1.Body.Children.Add(img);

c1PrintDocument1.Generate();

次のページ
テーブルの作成

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

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

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング