0

我有一个 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

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

任何想法如何做到这一点?

4

2 回答 2

1

您可以使用 Graphics.MeasureString 函数,该函数根据您的字体为您提供字符串的宽度(以像素为单位)。欲了解更多信息,请点击此处

干杯,

厄桑

于 2012-07-14T11:38:17.163 回答
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);
}

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

于 2017-03-27T00:32:10.507 回答