gpt4 book ai didi

PdfSharp:文本高度/定位问题

转载 作者:行者123 更新时间:2023-12-01 08:20:26 25 4
gpt4 key购买 nike

无论我是否使用 XTextFormatter,我都会遇到关于 LayoutRectangle 的高度必须为 0 或类似的错误。

new PdfSharp.Drawing.Layout.XTextFormatter(_gfx).DrawString(text 
, new PdfSharp.Drawing.XFont(fontName, fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle)
, new PdfSharp.Drawing.XSolidBrush(PdfSharp.Drawing.XColor.FromArgb(foreColour))
, new PdfSharp.Drawing.XRect(new PdfSharp.Drawing.XPoint(xPos, yPos), new PdfSharp.Drawing.XPoint(xLimit, yLimit))
, PdfSharp.Drawing.XStringFormats.Default);

fontStyle 是 System.Drawing.FontStyle 类型
前色是 System.Drawing.Color 类型
我已经预定义 _gfx 来自 pdf页面方向 = 横向,大小 = 字母
xPos yPos 是double类型的参数,与 相同xLimit y限制 .

I get the runtime error that the LayoutRectangle must have a height of zero (0)...



根据定义,矩形意味着具有高度,否则称其为一条线!没看懂!...

我尝试使用 XGraphics.DrawString() 方法直接,我得到同样的错误。似乎我不能使用 LayoutRectangle 但必须手动管理文本适合所需区域。
var textFont = new PdfSharp.Drawing.XFont(fontName, fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle);

while (xPos + _gfx.MeasureString(text, textFont).Width > xLimit)
textFont = new PdfSharp.Drawing.XFont(fontName, --fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle);

while (yPos + _gfx.MeasureString(text, textFont).Height > yLimit && fontSize > 0)
textFont = new PdfSharp.Drawing.XFont(fontName, --fontSize, (PdfSharp.Drawing.XFontStyle)fontStyle);

_gfx.DrawString(text
, textFont
, new PdfSharp.Drawing.XSolidBrush(PdfSharp.Drawing.XColor.FromArgb(foreColour))
, new PdfSharp.Drawing.XPoint(xPos, yPos));

尽管 yPos 变量值是完全相同的值!

*yPos = Page.Height * .4093,页面高度的 40.93%。*

下面是我尝试做的一个例子:

"Hello World!" "Hello World!"



这是我得到的:

                      "Hello World!" 

"Hello World!"



而且由于不同的打印区域限制和字体大小以及不同的字体样式,我不能将这些写成一个简单的句子,包括正确的空格数。

最佳答案

引用错误消息完全可以帮助其他人帮助您。

错误信息如下:

DrawString: With XLineAlignment.BaseLine the height of the layout rectangle must be 0.



文本将在一行对齐,因此高度必须为 0。是的,那是一行。
如果指定矩形,请使用不同的对齐方式。
TextLayout示例显示了如何格式化文本。

Graphics 示例还展示了如何布局文本(单行文本,没有自动换行; TextLayout 示例中显示的技术使用 XTextFormatter 类自动处理换行)。

关于PdfSharp:文本高度/定位问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1341680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com