フォームの作成
では、C1PdfDocumentコントロールを使ってプログラムを作成しましょう。作成するプログラムは、業務連絡という定型文書をPDF文書として作成するアプリケーションです。
GUIのデザイン
使用するコントロールは、Label、TextBox、GroupBox、Buttonです。文書を記述するコントロールにはRichTextBoxを使用し、記述したテキストの状態をそのままPDF文書にできるようにします。C1PdfDocumentコントロールは、ユーザーインターフェイスを持たず、プロセスだけを提供するため、フォームの外にレイアウトされます。
フォームに入力されたデータをPDF化する処理
フォームに入力された内容を、コードでPDFドキュメントに作成していきます。トリガーのイベントハンドラはButtonコントロールのClickイベントハンドラです。処理は、次の順序で行います。
- フォームのLoadイベントハンドラで、TextBox「発行日」に当日の日付を入力
- ButtonのClickイベントハンドラで、PDFドキュメントのコンテンツを作成
- PDF文書のプロパティを作成
- RichTextBoxコントロールの入力内容を一度RTF形式でファイルに保存
- その内容を含めPDFファイルを作成
- 作成したPDFドキュメントを表示
PDFドキュメントのコンテンツ作成には、独自のプロシージャ(メソッド)を使用します。
前準備
まずは、発行日の日付入力と、テキストボックス「発行者」に入力があるとこの内容をテキストボックス「作成者」に入力する処理を作成します。日付はDateTimeクラスを使用し、yyyy年mm月dd日形式でTextBox「発行日」に入力します。テキストボックス「作成者」の入力は、テキストボックス「発行者のTextChangedイベントハンドラ」で行います。
Imports System.IO Public Class Form1 Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load TextBox_発行日.Text = DateTime.Today.Date.ToString("D") End Sub Private Sub TextBox_発行者_TextChanged(sender As System.Object, e As System.EventArgs) Handles TextBox_発行者.TextChanged TextBox_作成者.Text = TextBox_発行者.Text End Sub
using System.IO; namespace rtf_pdf_cs { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { textBox_発行日.Text = DateTime.Today.Date.ToString("D"); } private void textBox_発行者_TextChanged(object sender, EventArgs e) { textBox_作成者.Text = textBox_発行者.Text; }