與形狀一起工作

本篇文章討論如何使用 Aspose.Words 程式化地與形状一起工作。

圖形 Aspose.Words 代表繪圖層中的物件,例如 AutoShape、文字方框、自由形式圖形、OLE 物件、ActiveX 控制或圖像。 Word 文檔可以包含一個或多個不同形狀。 Aspose.Words中的圖形是由 Shape 類別表示的。

透過 Document Builder 插入形狀

您可以使用 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也允許檢查形狀是否具有SmartArt物件。 要做到這點,請使用 HasSmartArt 屬性。

接下來這個程式碼範例示範如何使用 HasSmartArt 屬性:

將水平規則插入文檔中

您可以用 InsertHorizontalRule 方法將水平線插入文件中。

以下範例示範如何做:

Aspose.Words API 提供 HorizontalRuleFormat屬性來存取水平線形狀的屬性。 The HorizontalRuleFormat 類別會公開基本的性質,例如高度、顏色、NoShadow 等,用於格式化水平線。

以下範例顯示如何設定 HorizontalRuleFormat

將具有數學 XML 的形狀导入到 DOM

您可以使用ConvertShapeToOfficeMath屬性將方程式 XML 中的形狀轉換為 Office Math 物件。 此屬性的預設值對應於 Microsoft Word 行為,即方程式 XML 格式的形狀不會轉換為 Office 數學物件。

以下範例顯示如何將形狀轉換為 Office Math 物件: