所以,我正在程序生成一个形状,当它有少量文本时,它看起来像这样:
然而,如果我添加大量文本,它会溢出形状,如下所示:
我想要做的是隐藏溢出并强制文本从形状顶部开始(当前文本从高于形状顶部的位置开始)
到目前为止,我还没有找到太多关于此的信息,以下是我用于形状内部文本的代码:
这将调整形状以适应文本,还应该有一个选项来调整字体大小以适应形状(即调整字体大小),但是我似乎找不到该功能。
![样式正确,垂直对齐到顶部](https://istack.dev59.com/0794k.webp)
![垂直对齐从边界外开始](https://istack.dev59.com/5r6t4.webp)
到目前为止,我还没有找到太多关于此的信息,以下是我用于形状内部文本的代码:
var shape = slide.Shapes.AddShape(MsoAutoShapeType.msoShapeRectangle, left, top, width, height);
var textRange2 = shape.TextFrame.TextRange.InsertAfter(description);
textRange2.Font.Size = 10;
shape.TextFrame.TextRange.Paragraphs().ParagraphFormat.Alignment = PpParagraphAlignment.ppAlignLeft;
shape.TextFrame.TextRange.Paragraphs().Font.Name = "Consolas";
shape.TextFrame.TextRange.Paragraphs().Font.Color.RGB = foregroundColor;
最后一件事,我知道我可以限制字符串长度,但这会给用户带来问题。我希望他能够手动调整形状大小,如果有太多的文本,那么就不行了。基本上,我只想要相当于CSS overflow:hidden规则。
对于某些用户来说,一个选择是使用以下方法:
shape.TextFrame.AutoSize = PpAutoSize.ppAutoSizeShapeToFitText;
这将调整形状以适应文本,还应该有一个选项来调整字体大小以适应形状(即调整字体大小),但是我似乎找不到该功能。
谢谢大家