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 dokumentu są reprezentowane przez klasę Shape.

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

Za pomocą metody insert_shape 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 insert_shape umożliwia wstawienie kształtu DML do modelu dokumentu. 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ść aspect_ratio_locked.

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 is_layout_in_cell.

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 SINGLE_CORNER_SNIPPED, TOP_CORNERS_SNIPPED, DIAGONAL_CORNERS_SNIPPED, TOP_CORNERS_ONE_ROUNDED_ONE_SNIPPED, SINGLE_CORNER_ROUNDED, TOP_CORNERS_ROUNDED i DIAGONAL_CORNERS_ROUNDED.

Dla tych typów kształtów kształt DML jest tworzony metodą insert_shape. Tych typów nie można używać do tworzenia kształtów VML. Próba utworzenia kształtu przy użyciu konstruktora publicznego 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 bounds_in_points.

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 vertical_anchor.

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 has_smart_art właściwość.

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 insert_horizontal_rule.

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

Aspose.Words API udostępnia właściwość horizontal_rule_format 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, no_shade itp., służące do formatowania linii poziomej.

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

Wstaw obiekt OLE jako ikonę

Aspose.Words API udostępnia funkcję Kształt.insert_ole_object_as_icon umożliwiającą wstawienie osadzonego lub połączonego obiektu OLE jako ikony do dokumentu. Ta funkcja umożliwia określenie pliku ikony i podpisu. Typ obiektu OLE należy wykryć na podstawie rozszerzenia pliku.

Poniższy przykład kodu demonstruje, jak ustawić wstawianie obiektu OLE jako ikony w dokumencie:

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

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

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