SHOEISHA iD

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

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

ComponentZine(ComponentOne)

テキストファイルをRTFテキストに変換してPDF化するアプリケーション

C1PdfDocumentコンポーネントを使ったドキュメント変換アプリの作成

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

GUIの作成

 フォームはButtonを2つとTextBoxを1つ、C1PdfDocumentコンポーネントを1つ配置する簡単なものです。

 C1PdfDocumentコンポーネントは機能を提供するコンポーネントで、ユーザーの操作は受け付けませんのでフォームの外に配置されます。TextBoxは、Multilineプロパティを「True」にし、ScrollBarsプロパティを「Vertical」に設定しておきます。

GUIデザイン
GUIデザイン

 なお、PowerTools PDF for .NETのC1PdfDocumentコンポーネントについての説明は、前回の記事を参照してください。

簡単なRTFテキストのPDF化処理の作成 1

 まずはじめに、簡単なRich Text Formatで作成した文字列をPDF化する処理を作成してみましょう。

 この処理は、ボタン「簡単な rtf 出力」のClickイベントハンドラに作成します。RTFは、HTMLのように専用のタグをテキストデータの前後に付けることで、RTFリーダーアプリケーションがこのタグを解釈して文字の装飾などを行います。

 そこで、RTFテキストを作成する方法を知るために、簡単な文字列を使ってテキスト装飾機能を試してみます。

太字・斜体・文字色・タブの機能を組み込んだPDFドキュメントを作成する
太字・斜体・文字色・タブの機能を組み込んだPDFドキュメントを作成する

RTFタグについて

 RTFのタグは、HTMLのようなスタイルを持ち、フォントやカラー、テーブルなどを自在に操作できるようになっています。基本的には、装飾を実施したい文字列を{}で囲み、\記号とタグ名、パラメータを指定します。

 例えば、「boldly」という文字を太字にしたければ、

Visual Basic
{\b boldly}
C#
{\\b boldly} 

 と記述します。C#では\記号を表すために\\と記述する点に注意してください。

 また、フォントサイズを40にしたければ、

Visual Basic
{\fs40 boldly}
C#
{\\fs40 boldly} 

 と記述します。\fsがタグで、「40」がパラメータです。

 1つの文字列に複数の装飾を施したい場合があります。その場合は、タグごとに{}で括ります。例えば、「no one」という文字列に斜体・フォントサイズ40・文字色を青、という装飾を適用するには、次のように記述します。

Visual Basic
{\i {\fs40 {\cf2 no one }}} 
C#
{\\i {\\fs40 {\\cf2 no one }}}

 \iは文字を斜体にするタグです。\cfはカラーテーブルにある色を指定するタグで、「2」が青色を表すカラーテーブルの番号です(カラーテーブルについてはこのあと説明します)。

 最初のタグの{}の中に、次のタグを{付きで記述し、文字列の終端に{の数だけ}をつけます。必ず、{}の数が一致するように記述してください。数が不一致だと正常に文章を出力できなくなります。

 文字列を改行するには、エスケープシーケンスのCR・LFではなく、\parというタグを使用します。このタグだけは{}を必要としません。今の文字列の終端で改行したければ、次のように記述します。

Visual Basic
{\i {\fs40 {\cf2 no one \par}}} 
C#
{\\i {\\fs40 {\\cf2 no one \\par}}}

 このように、装飾したい文字列ごとに{}で括り、タグとパラメータがあるものはそのデータを記述していきます。

次のページ
簡単なRTFテキストのPDF化処理の作成 2

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

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

もっと読む

この記事の著者

瀬戸 遥(セト ハルカ)

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

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

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

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/1874 2008/06/24 15:07

おすすめ

アクセスランキング

アクセスランキング

イベント

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

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

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

メールバックナンバー

アクセスランキング

アクセスランキング