首页 > 解决方案 > XGraphics 从字符串末尾绘制字符串

问题描述

我正在绘制两个字符串,如下所示:

gfx.DrawString("Complete Total (Ex VAT) £" + string.Format("{0:0.00}", totalCompletePrice), new XFont(roboto, 10 * 4, XFontStyle.Regular), XBrushes.Black, new XPoint(2445, 2225));
gfx.DrawString(header + " Total (Ex VAT) £" + string.Format("{0:0.00}", totalCompletePrice), new XFont(roboto, 10 * 4, XFontStyle.Regular), XBrushes.Black, new XPoint(2445, 2295));

但我的问题是它们不符合文档的结尾。我想不出一种从头开始绘制这些字符串的方法。所以 1,000.55 英镑总是相互对齐。

例子:

This is a really long header total £999.99
          Complete Total (Ex VAT) £9999.99

我想得到它,所以价格彼此一致。有没有办法指定字符串放置的结束坐标并将其向后绘制?所以它从字符串的末尾开始并从该点绘制其余部分。我尝试了测量字符串功能,但它似乎无法正常工作。

我试过End X co-ord - text length了,但没有正确对齐它们。

标签: c#wpfpdfsharp

解决方案


尝试一个变体XGraphics.DrawString,它带有一个XStringFormat参数并指定例如XStringFormats.TopRight或另一个右对齐选项。

您也可以使用XTextFormatter该类。可以在此处找到显示右对齐文本的演示:http:
//pdfsharp.net/wiki/TextLayout-sample.ashx


推荐阅读