多くの場合、テキストを描画する前にテキストがページに収まるかどうかをチェックする必要があります。そのためには、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) |