C1PdfDocumentコントロールについて
PDF for .NETのC1PdfDocumentコントロールは、.NET FrameworkアプリケーションからPDFドキュメントを作成できるライブラリです。PDFフォーム、電子署名、セキュリティ、圧縮、アウトライン、ハイパーリンク、添付ファイルなどの、PDFが持つ高度な機能を利用できます。
テキストの描画機能
PDF for .NETの最大の特長は、使い方が簡単であることです。ドキュメントに内容を追加するための方法は、.NET FrameworkのGraphicsクラスの使い方と良く似ています。.NETでのテキストとグラフィックスの表示方法を知っていれば、PDF for .NETの使い方はすぐ身につきます。
例えば、データをテキストとしてPDFドキュメントにするには、C1PdfDocumentクラスの「DrawString」メソッドを使用します。このメソッドは、テキストを指定の四角形の左上に配置し、四角形内でテキストを折り返します。描画用の四角形は、RectangleFクラスで四角形のサイズと描画位置を指定するため、自由なレイアウトで作成できます。また、テキストの描画に際し、使用するフォントと描画色を指定できるため、書式を設定したテキストとして描画することもできます。
オーバーロードされているDrawStringメソッドでは、引数にStringFormatオブジェクトを指定できるメソッドもあるので、配置、方向、タブストップなどのテキストレイアウト情報や、省略記号の挿入、国別の代替の数字形式などの表示方法も指定してテキストを描画できます。
次のコードは、ヘルプファイルにあるテキスト描画のサンプルコードです。最初にフォントと描画領域の四角形と描画する文字列を作成しDrawStringメソッドを実行、引数にStringFormatオブジェクトを使って文字の配置を指定して描画しています。ほとんどの文字の描画は、このような手法でPDFドキュメントに描画していきます。
Dim font As New Font("MS PGothic", 12) Dim rect As New RectangleF(72, 72, 100, 100) Dim text As String = "小さい矩形領域内に描画するための長いテキスト。" ' テキストを中央配置します。 Dim sf As New StringFormat() sf.Alignment = StringAlignment.Center sf.LineAlignment = StringAlignment.Center C1PdfDocument1.DrawString(text, font, Brushes.Black, rect, sf) C1PdfDocument1.DrawRectangle(Pens.Gray, rect)
Font font = new Font("MS PGothic", 12); RectangleF rect = new RectangleF(72, 72, 100, 100); string text = "小さい矩形領域内に描画するための長いテキスト。"; // テキストを中央配置します。 StringFormat sf = new StringFormat(); sf.Alignment = StringAlignment.Center; sf.LineAlignment = StringAlignment.Center; c1PdfDocument1.DrawString(text, font, Brushes.Black, rect, sf); c1PdfDocument1.DrawRectangle(Pens.Gray, rect);
C1PdfDocumentクラスとメンバの特徴
C1PdfDocumentクラスは、ドキュメントを作成/保存する方法を提供するクラスです。C1PdfDocumentクラスのインスタンスを作成すると、1ページの空白ページを持つPDFドキュメントを持ちます。メンバメソッドには、テキストや図形を描画するメソッドが多く属しており、これらのメソッドを使ってデータをPDFドキュメント化します。
テキストの描画には、DrawStringメソッド以外にDrawStringRtfメソッドがあります。このメソッドは、文字のサイズや描画色、描画位置などの属性を持つテキスト「リッチテキスト」を描画します。WindowsフォームのRichTextBoxコントロールで、このリッチテキストを描画できます。
メソッド | 説明 |
Clear | ドキュメントを初期状態に戻します |
Dispose | コントロールで使用されるすべてのリソースを解放します |
DrawArc | RectangleF構造体で指定された楕円の一部を表す円弧を描画します |
DrawBezier | 4つのPointF構造体で定義されるベジェ曲線を描画します |
DrawBeziers | PointF構造体の配列から一連のベジェ曲線を描画します |
DrawEllipse | 楕円を描画します |
DrawImage | イメージを描画します |
DrawLine | 直線を描画します |
DrawLines | PointF構造体の配列を結ぶ一連の直線を描画します |
DrawPie | RectangleF構造体で定義される楕円と2つの角度によって指定された扇形を描画します |
DrawPolygon | PointF構造体の配列で定義された多角形を描画します |
DrawRectangle | 四角形を描画します |
DrawString | プレーンテキストを描画します |
DrawStringHtml | HTMLテキストを描画します |
DrawStringRtf | リッチテキストを描画します |
FillArc | RectangleF構造体で指定された楕円の一部を表す円弧の内部を塗りつぶします |
FillEllipse | 塗りつぶされた楕円を描画します |
FillPie | RectangleF構造体で定義される楕円と2つの角度によって指定された扇形の内部を塗りつぶします |
FillPolygon | 塗りつぶされた多角形を描画します |
FillRectangle | 塗りつぶされた四角形を描画します |
MeasureString | 指定したFontで描画した場合の、指定した文字列を計測します |
MeasureStringHtml | 指定されたFontオブジェクトで表示されたときのHTML文字列を計測します |
MeasureStringRtf | 指定されたFontオブジェクトで描画されたRTF文字列のサイズを測定します |
NewPage | 新しいページを開始します |
Write | PDFストリームの現在のページに生のコンテンツを書き込みます |
PDFドキュメントの作成
PDFドキュメントを作成する方法もとても簡単で、保存するファイル名を引数に指定し、Saveメソッドを実行するだけです。作業の流れは、以下のたった3つです。
- コンテンツとなるテキストや図形を描画する
- 保存するファイル名を作成する
- Saveメソッドを実行する
ドキュメントプロパティの設定が可能
PDFドキュメントには、作成者やタイトルなどの情報をプロパティとして含めることができます。これらのドキュメントプロパティはDocumentInfoクラスの次のプロパティを使って設定します。
設定内容 | 操作プロパティ |
タイトル | Title |
作成者 | Author |
サブタイトル | Subject |
キーワード | Keywords |
アプリケーション | Creator |
PDF Producer | Produce |