多くの場合、テキストを描画する前にテキストがページに収まるかどうかをチェックする必要があります。そのためには、MeasureString メソッドを使用できます。MeasureString は、指定のフォントで描画するときのテキストの幅と高さ(ポイント単位)を含む SizeF 構造を返します。
たとえば以下のコードでは、段落が現在のページに収まるかどうかを調べ、必要に応じてページ区切りを挿入します。これにより、段落を1ページ内にまとめることができます。
Visual Basic コードの書き方
| Visual Basic |
コードのコピー
|
|---|---|
Private Function RenderParagraph(text As String, font As Font, rect As RectangleF, rectPage As RectangleF) As Rectangle
'必要な高さを計算します。
Dim sz As SizeF = C1PdfDocument1.MeasureString(text, font, rect.Width)
rect.Height = sz.Height
'このページに収まらない場合、ページ区切りを挿入します。
If rect.Bottom > rectPage.Bottom Then
C1PdfDocument1.NewPage()
rect.Y = rectPage.Top
End If
'テキストを描画します。
C1PdfDocument1.DrawString(text, font, Brushes.Black, rect)
'次回の四角形を更新します。
rect.Offset(0, rect.Height)
Return rect
End Function
'RenderParagraph メソッドを使用します。
Dim font As New Font("Arial", 10)
|
|
C# コードの書き方
| C# |
コードのコピー
|
|---|---|
private RectangleF RenderParagraph(string text, Font font, RectangleF rect, RectangleF rectPage) |
|