LoginSignup
0
1

PdfSharp での文字列描画:XStringFormatを使った座標指定について

Posted at

.NET 界隈でのPDF生成ライブラリとして人気の PdfSharp における XGraphics.DrawString メソッドを活用した文字列描画について、XStringFormat クラスを使った座標指定についての一部を記載します。

1. XStringFormats.TopLeft

このオプションを使用すると、指定した XRect の左上隅が文字列の開始位置として解釈されます。

サンプルコード:

var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 12, XFontStyle.Regular);
gfx.DrawString("Hello, PdfSharp!", font, XBrushes.Black, new XRect(100, 50, page.Width, page.Height), XStringFormats.TopLeft);

2. XStringFormats.TopRight

このオプションを使用すると、指定した XRect の右上隅が文字列の開始位置として解釈されます。しかし、文字列の描画範囲を完璧にコントロールするためには、XRect の幅や座標の調整が必要になる場合があります。

サンプルコード:

var gfx = XGraphics.FromPdfPage(page);
var font = new XFont("Arial", 12, XFontStyle.Regular);
gfx.DrawString("Hello, PdfSharp!", font, XBrushes.Black, new XRect(-23, 776, page.Width, page.Height), XStringFormats.TopRight);

注意点

  1. Y座標の指定: PdfSharpでは、ページの左上隅が原点(0,0)として扱われ、Y座標は上から下へ増加します。
  2. フォントの影響: 使用するフォントのサイズやスタイルによって、文字列の描画位置が微妙に変わることがあります。
  3. ページの境界: 文字列を描画する際、ページの境界を超えると、文字列が切り取られる可能性があります。
  4. XRectの調整: 特にXStringFormats.TopRightを使用する場合、文字列が適切に描画されるようにXRectのx座標や幅を調整することが必要です。

まとめ

PdfSharpで文字列を描画する際、XStringFormatXRectを適切に使用することで、文字列の配置を細かく制御することができます。しかし、座標指定や文字列の描画範囲の調整には注意が必要です。この記事が、PdfSharpでの文字列描画の際の参考になれば幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1