Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Text Aspose.Words…以像素为单位计算文本宽度_Text_Alignment_Words_Aspose - Fatal编程技术网

Text Aspose.Words…以像素为单位计算文本宽度

Text Aspose.Words…以像素为单位计算文本宽度,text,alignment,words,aspose,Text,Alignment,Words,Aspose,我有一个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

我有一个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
根据第一位文本的宽度,我需要计算以像素为单位的宽度(我想),并在必要时插入一个选项卡


你知道怎么做吗?

你可以使用Graphics.MeasureString函数,它根据你的字体以像素为单位给出字符串的宽度。欲了解更多信息,请访问

干杯


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

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: