避免覆盖的文本格式
Text Formatting To Avoid Overwritting
我已经看过 this question 但它对我没有帮助。
问题是我可以将文本写入 PDF 文件,但是如果我用新的 gfx.DrawString
这样做,它会将第二个文本放在第一个...
like this....
这是我用来设置新行的代码:
gfx.DrawString(lbname.Text + " " + lbnamei.Text, font, XBrushes.Black, new XRect(0, 0, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
gfx.DrawString(lbvorname.Text + " " + lbvornamei.Text, font, XBrushes.Black, new XRect(0, 0, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
我认为这与第一个参数(new XRect(0, 0,
)中的数字有关,但不清楚如何设置它们。
我不记得哪个参数做了哪个,但这将帮助您自己发现:
在一段文字中将其中一个数字设置为20;观察效果。然后再改回来,换一个不同的数字;观察效果
一个XRect
有四个参数x, y, width, height
。 x是从左边开始的位置,y是从上面开始的位置。
宽度和高度只要使用XStringFormats.TopLeft
就没有影响。因此,上面显示的代码增加 y 以在新行中绘制文本就足够了。
宽度必须设置为右对齐或水平居中的文本。
高度必须设置为底部对齐或垂直居中的文本。
我已经看过 this question 但它对我没有帮助。
问题是我可以将文本写入 PDF 文件,但是如果我用新的 gfx.DrawString
这样做,它会将第二个文本放在第一个...
like this....
这是我用来设置新行的代码:
gfx.DrawString(lbname.Text + " " + lbnamei.Text, font, XBrushes.Black, new XRect(0, 0, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
gfx.DrawString(lbvorname.Text + " " + lbvornamei.Text, font, XBrushes.Black, new XRect(0, 0, page.Width.Point, page.Height.Point), XStringFormats.TopLeft);
我认为这与第一个参数(new XRect(0, 0,
)中的数字有关,但不清楚如何设置它们。
我不记得哪个参数做了哪个,但这将帮助您自己发现:
在一段文字中将其中一个数字设置为20;观察效果。然后再改回来,换一个不同的数字;观察效果
一个XRect
有四个参数x, y, width, height
。 x是从左边开始的位置,y是从上面开始的位置。
宽度和高度只要使用XStringFormats.TopLeft
就没有影响。因此,上面显示的代码增加 y 以在新行中绘制文本就足够了。
宽度必须设置为右对齐或水平居中的文本。
高度必须设置为底部对齐或垂直居中的文本。