PDF for WPF and Silverlight
次のページへのテキストのフロー
PDF for WPF/Silverlight の概要 > 機能:PDF for WPF/Silverlight > テキストの追加 > 次のページへのテキストのフロー

C1PdfDocument.DrawString メソッドは整数を返します。これは、出力四角形に収まらないために出力されなかった最初の文字のインデックスです。この値を使用して、テキストを次のページに、またはページ内の次のフレームに連続的に配置できます。次に例を示します。

Visual Basic でコードを書く場合

Visual Basic
コードのコピー
'複数のページにまたがる文字列をレンダリングします。 
While True

 

'四角形に収まるだけの文字列をレンダリングします。

Dim nextChar As Integer

nextChar = _c1pdf.DrawString(text, font, Colors.Black, rectPage)

 

'完了したら終了します。

    If nextChar >= text.Length Then

        Exit While

    End If

 

    'レンダリングされた部分を削除します。

    Text = text.Substring(nextChar)

 

    '次のページに移動します。

    _c1pdf.NewPage()

End While

C# でコードを書く場合

         
C#
コードのコピー
C1.WPF.Pdf.Font font = new C1.WPF.Pdf.Font("Arial", 12);
          
Rect rect = new Rect(72, 72, 100, 50);
string text = "This is the random text...This is the random text...";
 
 // 複数のページにまたがる文字列をレンダリングします。
 while (true)
 {
      // 四角形に収まるだけの文字列をレンダリングします。
     int nextChar = pdf.DrawString(text, font, Colors.Black, rect);

     pdf.DrawRectangle(Colors.LightGray, rect);
     
     // 完了したら終了します。
     if (nextChar >= text.Length)
     {
         break;
     }

     // レンダリングされた部分を削除します。
     text = text.Substring(nextChar);
     
     // 次のページに移動します。
     pdf.NewPage();
 }

 

C1PdfDocument.MeasureString メソッドと C1PdfDocument.DrawString メソッドを組み合わせると、複数の段落を1ページに収める、常に次の段落とセットにする、孤立行(現在のページまたは次のページに1行だけレンダリングされる行)を制御するなど、段落のレンダリング方法を幅広く制御できます。