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行だけレンダリングされる行)を制御するなど、段落のレンダリング方法を幅広く制御できます。