Формат VSDX — структура и характеристики¶
VSDX — расширение файлов диаграмм, создаваемых в редакторе Microsoft Visio начиная с версии 2013 года. Формат основан на стандарте Open Packaging Conventions (OPC) и использует внутреннюю структуру, аналогичную документам OOXML (DOCX, XLSX). VSDX заменил устаревший бинарный формат VSD, применявшуюся в Visio 2003 и более ранних версиях, и обеспечил лучшую совместимость с другими приложениями Microsoft Office, а также возможность программной обработки содержимого файла.
¶История и происхождение
Microsoft Visio появился в 1992 году как отдельное приложение компании Visio Corporation. До 2013 года Visio сохранял диаграммы в собственном бинарном формате VSD (Visio Drawing), основанном на структуре Compound File Binary Format (формат «OLE-документа»). Этот формат был закрытым и плохо поддерживался сторонними инструментами.
С выходом Visio 2013 Microsoft перевела приложение на новую платформу хранения документов — Open Packaging Conventions, ту же, что использовалась в Word (DOCX), Excel (XLSX) и PowerPoint (PPTX). Новый формат получил расширение VSDX (Visio Drawing XML). Старый VSD продолжал поддерживаться в режиме чтения и записи, однако Microsoft позиционировал VSDX как основной формат для обмена диаграммами.
¶Устройство файла
VSDX-файл представляет собой ZIP-архив, содержащий набор XML-файлов и ресурсов. Любой ZIP-утилитой его можно распаковать и просмотреть внутреннюю структуру. Основные компоненты:
[Content_Types].xml— описание типов содержимого пакета;_rels/.rels— корневые связи документа;visio/document.xml— корневой XML-документ Visio;visio/pages/pages.xml— индекс страниц диаграммы;visio/pages/page1.xml,page2.xmlи т. д. — содержимое отдельных страниц: фигуры, соединители, слои, направляющие;visio/masters/masters.xmlи связанные файлы — библиотека мастеров (шаблонов фигур);visio/theme/theme1.xml— тема оформления;visio/media/— встроенные изображения и другие ресурсы;docProps/core.xml,docProps/app.xml— метаданные документа.
Каждая фигура на странице описывается XML-элементом <Shape> с уникальным идентификатором (ID), геометрическими параметрами, стилем заливки и обводки, текстом и ссылками на мастер из библиотеки. Соединители (Connect) описывают связи между фигурами, что позволяет хранить не только графику, но и семантику диаграммы.
¶Отличия от формата VSD
| Параметр | VSD | VSDX |
|---|---|---|
| Внутреннее устройство | Compound File Binary (OLE) | ZIP + XML (OPC) |
| Читаемость сторонними инструментами | Затруднена | Возможна стандартными средствами |
| Размер файла | Как правило, больше | Компрессия ZIP уменьшает размер |
| Совместимость с Office | Ограниченная | Полная |
| Поддержка в Visio | Прекращена с Visio 2021 | Актуальный формат |
¶Совместимость и поддержка
VSDX поддерживают все актуальные версии Microsoft Visio для Windows, а также Visio для веб (Visio для Microsoft 365). В бесплатном просмотрщике Microsoft Visio Viewer файлы открываются в браузере. Онлайн-конвертеры и сторонние библиотеки (например, Aspose.Diagram, Apache POI, библиотеки на Python вроде vsdx) позволяют читать и создавать VSDX без наличия самого Visio.
Microsoft 365 включает Visio Plan 1 и Plan 2, где диаграммы хранятся в облаке OneDrive/SharePoint; при экспорте в файл используется именно VSDX.
¶Ограничения
Несмотря на открытость XML-структуры, полная спецификация VSDX документирована лишь частично. Некоторые элементы (сложные геометрические примитивы, специальные эффекты, поведение ShapeSheet) описаны в закрытых спецификациях Microsoft, что затрудняет создание полноценных редакторов VSDX сторонними разработчиками. Кроме того, при экспорте в другие форматы (PDF, SVG, PNG) возможна потеря интерактивных свойств диаграммы — данных ShapeSheet, формул и связей данных.
¶Применение
VSDX используется для хранения и обмена схемами бизнес-процессов (включая нотацию BPMN), организационными структурами, сетевыми топологиями, планами помещений, блок-схемами и техническими диаграммами. Формат применяется в корпоративной среде, проектном управлении, инженерии и ИТ-архитектуре.
¶Источники
- Документация Microsoft по форматам файлов Visio
- Спецификация Open Packaging Conventions (ECMA-376)
- Microsoft Visio — официальный сайт
- Apache POI — библиотека для работы с форматами Microsoft Office
