我使用Document.Shapes.AddTextbox方法在文档中创建一个文本框,然后用文本填充它。我希望能够通过编程确定文本是否适合文本框,如果不适合,则减小字体大小,直到它适合为止。
我尝试了两种不同的方法:
1) 使用bool Shape.TextFrame.overflow属性
while (textbox.TextFrame.Overflowing) // adjust font size
然而,即使当我打开文档时,我可以看到文本符合框中的要求,这也会返回TRUE。
lastCharX = System.Convert.ToSingle (tb.TextFrame.TextRange.Characters.Last.get_Information (WdInformation.wdHorizontalPositionRelativeToPage));
lastCharY = System.Convert.ToSingle (tb.TextFrame.TextRange.Characters.Last.get_Information (WdInformation.wdVerticalPositionRelativeToPage));
bool outsideFrameBoundaries = lastCharX + lastCharWidth > frameBoundaryX || lastCharY + lastCharHeight > frameBoundaryY;
然而,它返回的X/Y几乎总是在框内,尽管当我打开文档时,我看不到字符,因为它不适合框内。
所以我这里的想法已经没有了,我在问是否有其他人以前也经历过这个问题,他们是否有处理不准确混乱的建议,即互操作这个词?