PDF for .NET
DrawStringRtf(String,Font,Brush,RectangleF,Int32) メソッド
使用例 

C1.C1Pdf.4.5.2 アセンブリ > C1.C1Pdf 名前空間 > C1PdfDocument クラス > DrawStringRtf メソッド : DrawStringRtf(String,Font,Brush,RectangleF,Int32) メソッド
描画する RTF 文字列。
描画する文字列の外観とサイズを定義する System.Drawing.Fontオブジェクト。
描画する文字列の色を定義する System.Drawing.Brushオブジェクト。
描画する文字列の位置をページの左上隅からのポイント数で指定する System.Drawing.RectangleF構造体。
描画する最初の文字のインデックス(通常は前回実行した DrawStringRtf の戻り値を使用します)。
RTF 文字列を指定された四角形内に指定された System.Drawing.Brushオブジェクトと System.Drawing.Fontオブジェクトで、文字列内の指定されたオフセットから描画します。
シンタックス
'宣言
 
Public Overloads Function DrawStringRtf( _
   ByVal text As System.String, _
   ByVal font As System.Drawing.Font, _
   ByVal brush As System.Drawing.Brush, _
   ByVal rc As System.Drawing.RectangleF, _
   ByVal firstChar As System.Integer _
) As System.Integer
public System.int DrawStringRtf( 
   System.string text,
   System.Drawing.Font font,
   System.Drawing.Brush brush,
   System.Drawing.RectangleF rc,
   System.int firstChar
)

パラメータ

text
描画する RTF 文字列。
font
描画する文字列の外観とサイズを定義する System.Drawing.Fontオブジェクト。
brush
描画する文字列の色を定義する System.Drawing.Brushオブジェクト。
rc
描画する文字列の位置をページの左上隅からのポイント数で指定する System.Drawing.RectangleF構造体。
firstChar
描画する最初の文字のインデックス(通常は前回実行した DrawStringRtf の戻り値を使用します)。

戻り値の型

指定された四角形に収まらないために出力されなかった最初の文字のインデックス。または、文字列全体が描画された場合は int.MaxValue の値。
解説

このメソッドは MeasureString(String,Font,Single)に似ていますが、 System.Windows.Forms.RichTextBoxコントロールで使用されるような RTF(リッチテキスト形式)文字列を認識する点が異なります。

RTF 文字列には、次の2つの種類があります。

1) Font テーブルと Color テーブルを含む、完全な RTF 文字列。このタイプの文字列は、 System.Windows.Forms.RichTextBoxコントロールの Rtf プロパティや、ディスクに保存された RTF ファイルから得ることができます。このタイプの文字列を使用する場合、 font引数と brush引数は無視されます。

2) RTF ヘッダが無く、埋め込みの RTF タグを含む RTF 文字列の一部。このタイプの文字列はコードで構築することが容易で、太字や斜体などの特殊な属性(例えば {\b 太字} や {\i 斜体} など)を持つテキストを描画する際に使用できます。このタイプの文字列を使用する場合、自動的に RTF ヘッダを構築するために font引数と brush引数が使用されます。

DrawStringRtf メソッドは、出力四角形に収まらないために出力されなかった最初の文字のインデックスを返します。この値を使用して、テキストを次のページに、またはページ内の次のフレームに連続的に配置できます。この値は、RTF 入力自体のインデックスではなく、RTF で表されたテキスト内のインデックスであることに注意してください。下の例を参照してください。

使用例
次のコードは長い文字列を複数のページに描画します。出力を続行する位置を決定するために、 DrawString(String,Font,Brush,RectangleF,StringFormat)メソッドの戻り値を使用します。
// ページ四角形を計算します
RectangleF rcPage = _c1pdf.PageRectangle;
rcPage.Inflate(-72, -72);
          
// 描画する RTF を取得します
string text = richTextBox1.Rtf;
          
// 複数のページにまたがる RTF 文字列を印刷します
_c1pdf.Clear();
for (int start = 0; start < int.MaxValue; )
{
  if (start > 0)
    _c1pdf.NewPage();
  start = _c1pdf.DrawStringRtf(text, Font, Brushes.Black, rcPage, start);
}
          
// 結果を表示します
string fn = @"c:\rtf.pdf";
_c1pdf.Save(fn);
System.Diagnostics.Process.Start(fn);
参照

C1PdfDocument クラス
C1PdfDocument メンバ
オーバーロード一覧