Работа с формами

Эта тема обсуждает, как программно работать с формами, используя Aspose.Words.

Формы в Aspose.Words представляют собой объект в слое рисунка, такой как AutoShape, текстовый ящик, свободная форма, объект OLE, управление ActiveX или изображение. Документ Word может содержать одну или несколько различных форм. Формы документа представлены Shape класс.

Вставка форм с помощью конструктора документов

Вы можете вставить встроенную форму с указанным типом и размером и свободно плавающую форму с указанным положением, размером и типом текстовой обертки в документ, используя insert_shape метод. The insert_shape Способ позволяет вставить форму DML в модель документа. Документ должен быть сохранен в формате, который поддерживает формы DML, в противном случае такие узлы будут преобразованы в форму VML, при этом сохраняется документ.

Следующий пример кода показывает, как вставить эти типы фигур в документ:

Установить соотношение заперто

Использовать Aspose.Words, Вы можете указать, заблокировано ли соотношение сторон формы через aspect_ratio_locked собственность.

Следующий пример показывает, как работать с AspectRatioLocked имущество:

Настройка формы Layout in Cell

Вы также можете указать, отображается ли форма внутри стола или снаружи стола. is_layout_in_cell собственность.

Следующий пример показывает, как работать с IsLayoutInCell имущество:

Создайте прямоугольник Snip Corner

Вы можете создать угловой прямоугольник с помощью Aspose.Words. Типы фигур являются SINGLE_CORNER_SNIPPED, TOP_CORNERS_SNIPPED, DIAGONAL_CORNERS_SNIPPED, TOP_CORNERS_ONE_ROUNDED_ONE_SNIPPED, SINGLE_CORNER_ROUNDED, TOP_CORNERS_ROUNDED, и DIAGONAL_CORNERS_ROUNDED.

Форма DML создается с использованием insert_shape Метод с этими типами форм. Эти типы не могут быть использованы для создания форм VML. Попытка создать форму с помощью общественного конструктора Shape Класс поднимает исключение “Неподдерживаемое исключение”.

Следующий пример кода показывает, как вставить эти типы фигур в документ:

Получите реальные точки соприкосновения формы

Использовать Aspose.Words API, Вы можете получить расположение и размер формы, содержащей блок в точках, относительно якоря самой верхней формы. Чтобы сделать это, используйте bounds_in_points собственность.

Следующий пример показывает, как работать с BoundsInPoints имущество:

Укажите вертикальный якорь

Вы можете указать вертикальное выравнивание текста в форме, используя vertical_anchor собственность.

Следующий пример показывает, как работать с VerticalAnchor имущество:

Обнаружение Smart Форма искусства

Aspose.Words Также можно определить, имеет ли форма SmartArt объект. Чтобы сделать это, используйте Имеет_smart_art свойство собственность.

Следующий пример показывает, как работать с HasSmartArt имущество:

Включить горизонтальный Правило в документе

Вы можете вставить горизонтальную форму правила в документ, используя insert_horizontal_rule метод.

Следующий пример кода показывает, как это сделать:

Aspose.Words API обеспечивает horizontal_rule_format свойство доступа к свойствам горизонтальной формы правила. The HorizontalRuleFormat Класс раскрывает основные свойства, такие как height, color, no_shade Для форматирования горизонтального правила.

Следующий пример кода показывает, как установить HorizontalRuleFormat:

Включить OLE Объект как икона

Aspose.Words API обеспечивает Shape.insert_ole_object_as_icon Функция вставки встроенного или связанного объекта OLE в качестве иконки в документ. Эта функция позволяет указать файл значка и подпись. The OLE Тип объекта должен быть обнаружен с помощью расширения файла.

Следующий пример кода показывает, как вставить объект OLE в качестве иконки в документ:

Импорт форм с помощью Math XML в виде форм DOM

Вы можете использовать convert_shape_to_office_math свойство преобразовывать формы с помощью EquationXML в объекты Office Math. Значение по умолчанию этого свойства соответствует поведению MS Word, т.е. формы с уравнением XML не преобразуются в объекты математики Office.

Следующий пример кода показывает, как конвертировать формы в объекты Office Math: