使用形状
本主题讨论如何使用 Aspose.Words 以编程方式处理形状。
Aspose.Words 中的形状表示绘图层中的对象,例如自选图形、文本框、自由格式、OLE 对象、ActiveX 控件或图片。 Word 文档可以包含一种或多种不同的形状。 Aspose.Words 中的形状由 Shape 类表示。
使用文档生成器插入形状
您可以使用 InsertShape 方法将指定类型和大小的内联形状以及指定位置、大小和文本换行类型的自由浮动形状插入到文档中。 InsertShape 方法允许将 DML 形状插入到文档模型中。文档必须以支持DML形状的格式保存,否则,在保存文档时,此类节点将被转换为VML形状。
以下代码示例演示如何将这些类型的形状插入到文档中:
设置长宽比锁定
使用 Aspose.Words,您可以通过 AspectRatioLocked 属性指定是否锁定形状的纵横比。
以下代码示例演示如何使用 AspectRatioLocked 属性:
在单元格中设置形状布局
您还可以使用 IsLayoutInCell 属性指定形状是显示在表格内部还是表格外部。
以下代码示例演示如何使用 IsLayoutInCell 属性:
创建剪角矩形
您可以使用 Aspose.Words 创建剪角矩形。形状类型为 SingleCornerSnipped、TopCornersSnipped、DiagonalCornersSnipped、TopCornersOneRoundedOneSnipped、SingleCornerRounded、TopCornersRounded 和 DiagonalCornersRounded.
DML 形状是使用 InsertShape 方法使用这些形状类型创建的。这些类型不能用于创建 VML 形状。尝试使用"Shape"类的公共构造函数创建形状会引发"NotSupportedException"异常。
以下代码示例展示了如何将这些类型的形状插入到文档中:
获取实际形状边界点
使用 Aspose.Words API,您可以获得包含块的形状相对于最顶部形状的锚点的位置和大小(以点为单位)。为此,请使用 BoundsInPoints 属性。
以下代码示例演示如何使用 BoundsInPoints 属性:
指定垂直锚点
您可以使用 VerticalAnchor 属性指定形状内的文本垂直对齐方式。
以下代码示例演示如何使用 VerticalAnchor 属性:
检测 SmartArt 形状
Aspose.Words 还允许检测 Shape 是否具有 SmartArt
对象。为此,请使用 HasSmartArt 属性。
以下代码示例演示如何使用 HasSmartArt 属性:
将水平线插入文档
您可以使用 InsertHorizontalRule 方法将水平线形状插入到文档中。
以下代码示例展示了如何执行此操作:
Aspose.Words API 提供 HorizontalRuleFormat 属性来访问水平线形状的属性。 HorizontalRuleFormat 类公开了用于水平线格式设置的基本属性,例如高度、颜色、NoShade 等。
以下代码示例展示了如何设置 HorizontalRuleFormat:
将带有 Math XML 的形状作为形状导入 DOM
您可以使用 ConvertShapeToOfficeMath 属性将带有 EquationXML 的形状转换为 Office Math 对象。此属性的默认值对应于 Microsoft Word 行为,即带有方程式 XML 的形状不会转换为 Office 数学对象。
以下代码示例演示如何将形状转换为 Office Math 对象: