SHOEISHA iD

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

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

現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)

全部入りの安心感! ComponentOne Studioオーバービュー
― Windows Forms編

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

ダウンロード サンプルソース (97.3 KB)

さまざまな形式に対応するデータ出力コンポーネント

 ComponentOne Studioには、次のデータ出力関連のコンポーネントが収録されています。Windows FormsのほかASP.NETにも対応しています。

PDF for .NET

 PDF for .NETの特徴は、帳票定義を事前に作成しておいてPDFとして出力するのではなく、プログラムコードからの描画結果をPDFに出力するという点です。

 帳票定義をグラフィカルに作成できないので、いわゆる帳票をPDFとして出力するという用途には不向きですが、文章をベタ打ちしたようなものをPDFとして出力したり、画像ファイルを指定して画像を埋め込んだPDFファイルを出力したりするような用途であれば、軽量で使いやすいコンポーネントです。

リスト2 PDF for .NETで画像をPDF化するコード
If _openDialog.ShowDialog() = DialogResult.OK Then
    Dim rect As RectangleF = C1PdfDocument1.PageRectangle
    rect.Inflate(-72, -72)
    C1PdfDocument1.DrawImage(Image.FromFile(_openDialog.FileName), _
                             rect, _
                             ContentAlignment.TopLeft, _
                             C1.C1Pdf.ImageSizeModeEnum.Clip)
    C1PdfDocument1.Save(System.IO.Path.Combine(My.Application.Info.DirectoryPath, _
                                               "test.pdf"))
End If
図8 PDF for .NETで画像をPDF化
図8 PDF for .NETで画像をPDF化

XLS for .NET

 Excelファイル形式で出力という業務要件は増えています。これは、単にエコというだけではなく、グラフ表示などによる見える化にExcelを活用するケースが年々強くなってきているからでしょう。

リスト3 XLS for .NETでExcelファイルを出力するコード
C1XLBook1.Sheets(0)(0, 0).Value = "Hello World!"
C1XLBook1.Save(filename)
System.Diagnostics.Process.Start(filename)
図9 XLS for .NETでExcelファイルを出力
図9 XLS for .NETでExcelファイルを出力

ZIP for .NET

 Visual J#があった頃は、java.util.zip.ZipFileクラスによりzipファイルが扱えましたが、Visual Studio 2008以降ではVisual J#が付属しなくなったので、zipファイルを気軽に扱えなくなりました。

 しかし、ZIP for .NETを使えば、Visual J#のjava.utl.zip.ZipFileクラスよりも手軽にzip操作が可能です。そして、zipが気軽に扱えれば次のような応用も簡単にできます。

  1. パスワード付zipファイルとしてDataSetの内容をローカル保存することで、内容改変などを防止
  2. httpやftpを使ったファイル転送にzipファイルを使うことで、転送元と転送先でファイル日時が変わることを防止
リスト4 データセットの内容をパスワードzipに出力するコード
Using _zip As New C1.C1Zip.C1ZipFile
    _zip.Open(System.IO.Path.Combine(My.Application.Info.Description, _
                                     "test.zip"))
    _zip.Password = "password"
    Using _s As System.IO.Stream = _zip.Entries.OpenWriter("data.xml", True)
       ds.WriteXml(_s, XmlWriteMode.WriteSchema)
   End Using
   _zip.Close()
End Using
図10 ZIP for .NETで作成したパスワード付zipファイル
図10 ZIP for .NETで作成したパスワード付Zipファイル

 なお、Silverlight用としては、同様の機能を持った「Zip for Silverlight」が収録されています。

まとめ

 このように、ComponentOne Studioには、工数を削減したり、業務要件を満たすのに便利なコンポーネントが多数搭載されています。

 次回以降で、引き続きASP.NET、Silverlight、WPF用の注目コンポーネントを紹介していきたいと思います。

製品情報

修正履歴

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

  • このエントリーをはてなブックマークに追加
現役エンジニア直伝! 「現場」で使えるコンポーネント活用術(ComponentOne Studio)連載記事一覧

もっと読む

この記事の著者

初音玲(ハツネアキラ)

 国内SIerのSEでパッケージ製品開発を主に行っており、最近は、空間認識や音声認識などを応用した製品を手掛けています。 個人的には、仕事の内容をさらに拡張したHoloLensなどのMRを中心に活動しています。 Microsoft MVP for Windows Development ブログ:http://hatsune.hatenablog.jp/

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5141 2010/04/28 16:16

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング