Aspose.Words...计算文本宽度(以像素为单位)

问题描述 投票:0回答:2

我有一个 MVC3 C# .Net Web 应用程序。 我正在使用 Aspose.Words 创建 MS Word 文档。 我要求不在文档中包含表格。 但是,在文档的几行上,文本的对齐方式根据文本的宽度而未对齐。
例如:

这个看起来不错

Proposal Name: My Proposal         Date:04/24/2012

这不是

Proposal Name: My Prop         Date:04/24/2012

应该是

Proposal Name: My Prop             Date:04/24/2012

根据文本第一位的宽度,我需要计算以像素为单位的宽度(我认为)并在必要时插入制表符。

有什么想法可以做到这一点吗?

text alignment cpu-word aspose
2个回答
1
投票

您可以使用 Graphics.MeasureString 函数,它根据您的字体为您提供字符串的宽度(以像素为单位)。欲了解更多信息,请前往这里

干杯,

伊桑


0
投票

以下代码示例返回当前实体相对于页面左上角的边界矩形。

Document doc = new Document(MyDir + "in.docx");

LayoutCollector layoutCollector = new LayoutCollector(doc);
LayoutEnumerator layoutEnumerator = new LayoutEnumerator(doc);

foreach (Paragraph para in doc.GetChildNodes(NodeType.Paragraph, true))
{
    var renderObject = layoutCollector.GetEntity(para);
    layoutEnumerator.Current = renderObject;
    RectangleF location = layoutEnumerator.Rectangle;
    Console.WriteLine(location);
}

src:https://www.aspose.com/community/forums/thread/541215/replace-run-text-with-string-of-spaces-of-same-pixel-length.aspx

© www.soinside.com 2019 - 2024. All rights reserved.