В связанном файле xaml js (например, xaml_1.js) есть функция handleMouseUp, которая считывает идентификатор формы из (name) строки (XAML), а затем вызывает OnShapeClick в frameset.js.Этот метод, который является общим для всех типов вывода на основе js Сохранить как веб, затем вызывает другие методы для заполнения таблицы сведений или получения гиперссылок, найденных в data.xml.Если вы посмотрите на функцию FindShapeXML в frameset.js, вы увидите, что она получает соответствующие данные, основанные на идентификаторах страницы и формы (обратите внимание, что идентификаторы формы уникальны для страницы в соответствии с самой Visio).
С точки зрения создания текста с привязкой к данным или динамической формы, одним из обходных путей для проблемы глифов, которую подчеркивает @slfan, является предотвращение вывода текста.Например, перед запуском «Сохранить как веб» в Visio вы можете перебрать все фигуры и установить для их ячейки HideText ShapeSheet значение true.Это предотвратит создание всех глифов xaml, и вы по-прежнему будете иметь доступ к текстовой строке в data.xml.Я думаю, что тогда вы не выиграете от правильного масштабирования шрифта, но это зависит от вашего сценария.Если было действительно важно правильно настроить масштаб, вы могли бы проанализировать атрибут RenderTransform (который описан в синтаксисе атрибута, а не в синтаксисе элемента свойства) элементов глифа.
Глифы есть (я предполагаю)потому что он отражает работу Visio в приложении, т. е. в Visio вы можете выбрать отдельные символы в тексте фигуры и применять разные шрифты и форматирование, но если вам это не нужно, у меня будет соблазн отказаться от коллекции глифов и просто использоватьTextBlock, как предлагает @slfan.