Praca z kształtami

W tym temacie omówiono sposób programowej pracy z kształtami przy użyciu formatu Aspose.Words.

Kształty w formacie Aspose.Words reprezentują obiekt w warstwie rysunku, taki jak Autokształt, pole tekstowe, dowolny kształt, obiekt OLE, formant ActiveX lub obraz. Dokument programu Word może zawierać jeden lub więcej różnych kształtów. Kształty w Aspose.Words są reprezentowane przez klasę Shape.

Wstawianie kształtów za pomocą narzędzia Document Builder

Za pomocą metody InsertShape możesz wstawić do dokumentu kształt osadzony o określonym typie i rozmiarze oraz kształt swobodny o określonej pozycji, rozmiarze i typie zawijania tekstu. Metoda InsertShape umożliwia wstawienie do modelu dokumentu kształtu DML. Dokument musi zostać zapisany w formacie obsługującym kształty DML, w przeciwnym razie podczas zapisywania dokumentu takie węzły zostaną skonwertowane do kształtu VML.

Poniższy przykład kodu pokazuje, jak wstawić tego typu kształty do dokumentu:

Ustaw współczynnik proporcji zablokowany

Używając Aspose.Words, możesz określić, czy proporcje kształtu mają być blokowane poprzez właściwość AspectRatioLocked.

Poniższy przykład kodu pokazuje, jak pracować z właściwością AspectRatioLocked:

Ustaw układ kształtu w komórce

Możesz także określić, czy kształt ma być wyświetlany wewnątrz tabeli, czy poza nią, za pomocą właściwości IsLayoutInCell.

Poniższy przykład kodu pokazuje, jak pracować z właściwością IsLayoutInCell:

Utwórz prostokąt z narożnika Snip

Za pomocą Aspose.Words możesz utworzyć prostokąt z wyciętym narożnikiem. Typy kształtów to SingleCornerSnipped, TopCornersSnipped, DiagonalCornersSnipped, TopCornersOneRoundedOneSnipped, SingleCornerRounded, TopCornersRounded i DiagonalCornersRounded.

Dla tych typów kształtów kształt DML jest tworzony metodą InsertShape. Tych typów nie można używać do tworzenia kształtów VML. Próba utworzenia kształtu przy użyciu publicznego konstruktora klasy “Shape” wywołuje wyjątek “NotSupportedException”.

Poniższy przykład kodu pokazuje, jak wstawić tego typu kształty do dokumentu:

Zdobądź rzeczywiste punkty granic kształtu

Używając Aspose.Words API, możesz uzyskać lokalizację i rozmiar kształtu zawierającego blok w punktach, w stosunku do kotwicy najwyższego kształtu. Aby to zrobić, użyj właściwości BoundsInPoints.

Poniższy przykład kodu pokazuje, jak pracować z właściwością BoundsInPoints:

Określ zaczepienie pionowe

Wyrównanie tekstu w pionie w kształcie można określić za pomocą właściwości VerticalAnchor.

Poniższy przykład kodu pokazuje, jak pracować z właściwością VerticalAnchor:

Wykryj kształt grafiki SmartArt

Aspose.Words pozwala również wykryć, czy kształt ma obiekt SmartArt. Aby to zrobić, użyj właściwości HasSmartArt.

Poniższy przykład kodu pokazuje, jak pracować z właściwością HasSmartArt:

Wstaw linię poziomą do dokumentu

Możesz wstawić kształt linii poziomej do dokumentu za pomocą metody InsertHorizontalRule.

Poniższy przykład kodu pokazuje, jak to zrobić:

Aspose.Words API udostępnia właściwość HorizontalRuleFormat umożliwiającą dostęp do właściwości kształtu linii poziomej. Klasa HorizontalRuleFormat udostępnia podstawowe właściwości, takie jak Height, Color, NoShade itp., służące do formatowania linii poziomej.

Poniższy przykład kodu pokazuje, jak ustawić HorizontalRuleFormat:

Importuj kształty z matematycznym XMLem jako kształty do DOM

Możesz użyć właściwości ConvertShapeToOfficeMath, aby przekonwertować kształty za pomocą EquationXML na obiekty Office Math. Domyślna wartość tej właściwości odpowiada zachowaniu Microsoft Word, tj. kształty z równaniem XML nie są konwertowane na obiekty matematyczne pakietu Office.

Poniższy przykład kodu pokazuje, jak konwertować kształty na obiekty pakietu Office Math: