在 .NET 中管理演示文稿的文本片段
Contents
[
Hide
]
获取文本片段的坐标
GetCoordinates() 方法已添加到 IPortion 和 Portion 类,允许检索片段起始位置的坐标:
using (Presentation presentation = new Presentation("Shapes.pptx"))
{
IAutoShape shape = (IAutoShape)presentation.Slides[0].Shapes[0];
var textFrame = (ITextFrame)shape.TextFrame;
foreach (var paragraph in textFrame.Paragraphs)
{
foreach (Portion portion in paragraph.Portions)
{
PointF point = portion.GetCoordinates();
Console.Write(Environment.NewLine + "Corrdinates X =" + point.X + " Corrdinates Y =" + point.Y);
}
}
}
常见问题
我可以仅对单段落中的部分文字应用超链接吗?
是的,您可以分配超链接给单独的片段;只有该片段可点击,而不是整个段落。
样式继承是如何工作的:Portion 覆盖了哪些属性,哪些属性来自 Paragraph/TextFrame?
Portion 级别的属性具有最高优先级。如果属性未在Portion上设置,渲染引擎会从Paragraph获取;如果在那里也未设置,则从TextFrame或theme样式获取。
如果在目标机器/服务器上缺少为 Portion 指定的字体,会发生什么?
字体替换规则将生效。文本可能会重新换行:度量、连字符和宽度可能会变化,这会影响精确定位。
我可以为特定 Portion 设置文本填充透明度或渐变,而不影响段落的其他部分吗?
是的,在Portion级别,文本颜色、填充和透明度可以与相邻片段不同。