Чем открыть visio документ

Чем открыть файлы формата VSD и VSDX

Файлы с расширением .vsd и .vsdx предназначены для программы Microsoft Visio Viewer (vviewer.exe) и содержат визуальные объекты, текст, диаграммы и иную графическую информацию. Проблема в том, что далеко не все имеют возможность или желание пользоваться программой Microsoft Visio.

Для просмотра и редактирования файлов можно загрузить другие программы для любой из платформ (Windows, Mac, iOS, Android), воспользоваться онлайн-просмотром файлов в формате VSD/VSDX или конвертировать их в привычный PDF.

Хотя файлы Визио рассчитаны на диаграммы и векторную графику, они состоят из группы XML-файлов, которые находятся внутри ZIP-архива. Это усложняет конвертацию документа из одного формата в другой, поэтому выбор программ и бесплатных сервисов не слишком велик.

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Как сообщается на официальном сайте поддержки Visio Professional 2013 https://support.office.com (на русском), для просмотра документов Visio в браузере и добавления примечаний другими пользователями не обязательно требуется установка Visio. Просмотр без установки софта доступен только в том случае, если диаграмма сохранена в SharePoint, а эта служба есть далеко не во всех версиях Windows и самой программы.

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Онлайн конвертация VSD в PDF

Вот так выглядит функционал сервиса vsd-to-pdf на aconvert.com:
Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Windows

Linux

Android

MacOS и iOS

Nektony VSD Viewer для iOS и MacOS можно назвать самым дешевым решением для работы с расширениями Visio на Mac, но при этом отличается профессиональными возможностями и отличным исполнением (отзывы о программе исключительно положительные). Подойдет тем, кому возможностей бесплатного LibreOffice недостаточно, а тратиться на дорогостоящий софт нет желания.

Источник

VSD был создан независимой компанией Visio, которую успешно выкупил мега-концерн Microsoft, так что.

VSD был создан независимой компанией Visio, которую успешно выкупил мега-концерн Microsoft, так что сегодня это расширение можно назвать его продуктом. С помощью расширения оформляются сетевые графики, схемы, диаграммы, все, что относится к векторным изображениям. Такого рода контент нужен для подробных презентаций бизнес-проектов. Для пользователей не слишком опытных обычно возникает вопрос – чем открыть VSD.

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Формат этого типа несет информацию в виде текста и визуальных объектов. В операционных системах Windows, Linux, Mac OS можно встретить файлы с этим расширением. С 2013 года разработан файл VSDX с обновленными функциями.

В vsd могут содержаться чертежи, графики схемы. Основной вопрос пользователей, которым приходится иметь дело с этим расширением, чем открыть VSD формат. Ответ легко находится в интернете. Это программы:

Как открыть файл VSD – онлайн, на ПК, на смартфоне

Когда располагаете правильным функционалом, вопроса – чем открыть файл VSD не возникает.

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

В браузере

Чтобы файл открыть VSD онлайн, в любом браузере нужно воспользоваться службой SharePoint от Microsoft. Если в вашей ОС она не предусмотрена, нужно поискать возможности в интернете. Поиски приводят к сайту на английском языке ofoct.com. Юзабилити на нем достаточно простое, файлы просто загружаются с компьютера. Сайт открывает и другие графические форматы.

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Существует более легкий путь: конвертация в PDF. Есть несколько сайтов, в которых эта конвертация осуществляется быстро.

На PC

Чтобы открыть формат в режиме просмотра нужно инсталлировать программу MS Visio Viewer, входящую в пакет программ Майкрософта, работающую как надстройка для браузера IE. Эксплорер должен быть версий 8 и выше. Для полноценной работы с файлом vsd стоит загрузить программу MS Visio полностью.

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

На Android

Скачайте с нашего сайта бесплатную программу LibreOffice. Есть еще Lucidchart, которая открывает на Андроиде все программы Визио, и платное приложение VSD and VSDX Viewer.

Источник

Просмотр и печать документов Visio с помощью Visio Viewer

С помощью средства Visio Viewer можно открывать, просматривать и печатать документы Visio, даже если приложение Visio не установлено на компьютере. Однако в Visio Viewer отсутствует возможность редактирования, сохранения и создания документов Visio. Для этого должна быть установлена полная версия Visio. Если вы создаете и редактируете схемы в полной версии Visio и отправляете их человеку, у которого нет Visio, этот человек может использовать Visio Viewer для просмотра схемы.

Если вы администратор, который поддерживает группу пользователей, которые могут воспользоваться преимуществами Visio Viewer, следует помнить, что с помощью групповой политики можно настроить режим «Microsoft Edge с режимом IE» для вашей организации. Подробные сведения см. в статье InternetExplorerIntegrationLocalFileExtensionAllowList, которая называется «Microsoft Edge — политики».

Рекомендуемый инструмент — средство просмотра Visio Online Viewer

Для пользователей, у которых нет лицензии Visio, рекомендуем использовать веб Visio для просмотра основных Visio файлов. После того как вы войди в свою учетную запись Microsoft 365, вы сможете получить доступ к любому файлу Visio, хранямуся в OneDrive или SharePoint, а затем выберите его, чтобы открыть. Файл откроется в браузере Веб-приложение Visio, чтобы просмотреть его только для чтения.

Где найти Visio Viewer

В Visio Viewer 2010 можно открывать документы Visio (VSD-файлы), сохраненные в Visio 2000, 2002, 2003, 2007 и 2010. В Visio Viewer 2010 также можно открывать XML-документы Visio (VDX-файлы), сохраненные в Visio 2002, 2003 и 2007.

В Visio Viewer 2013 можно открывать документы Visio (VSD-файлы), сохраненные в Visio 2000, 2002, 2003, 2007, 2010 и 2013. В Visio Viewer 2013 также можно открывать XML-документы Visio (VDX-файлы), сохраненные в Visio 2002, 2003 и 2007.

В Visio Viewer 2016 можно открывать документы Visio (VSD-файлы), сохраненные в Visio 2000, 2002, 2003, 2007, 2010, 2013 и 2016. В Visio Viewer 2016 также можно открывать XML-документы Visio (VDX-файлы), сохраненные в Visio 2002, 2003 и 2007.

Настройка системы для нас Visio Viewer с Microsoft Edge в режиме IE

В этом Visio Viewer требуется помощь веб-браузера Майкрософт для Visio рисунков. Internet Explorer 11 больше не поддерживается в Microsoft 365. Но если Microsoft Edge режиме IE на компьютере, Visio Viewer будут работать так, как нужно.

Требования

Internet Explorer 11 устанавливается и включена в качестве Windows на компьютере. (Это необходимо, так как Microsoft Edge Internet Explorer во время работы в режиме IE.)

Настольное Visio не установлено на компьютере. (Visio Viewer используется только на компьютерах, на которые не установлено Visio классическим приложением.)

Visio Viewer устанавливается на компьютере.

Добавление этой информации в реестр

Сохраните следующий блок кода в качестве REG-файла и импортировать его в реестр. Он связывает «Microsoft Edge с режимом IE» с типом файла VSDX. При внесении изменений в реестр следует внимательно работать. Инструкции см. в инструкциях по добавлению, изменению и удалению подстроек и значений реестра с помощью REG-файла.

Подтвердите правильную настройку Microsoft Edge режиме IE» и Visio Viewer

После выполнения выше процедуры откройте проводник и перейдите к Visio VSD/VSDX.

Значок файла должен выглядеть так:

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Если щелкнуть правой кнопкой мыши значок файла, в меню должен быть пункт Открыть с помощью Microsoft Edge режиме IE,как показано на рисунке:

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Просмотр документа с помощью Visio Viewer

Когда вы открываете чертеж с Visio Viewer, он отображается в окне браузера. Если документ содержит несколько страниц, они отображаются в виде ярлычков в нижней части средства просмотра.

Перемещение рисунка

Найдите документ, который вы хотите открыть.

Дважды щелкните документ, чтобы его открыть.

В Visio Viewer не отображаются наборы элементов, области, линейки,а также направляющие линии и точки. Кроме того, Visio Viewer не поддерживает внедренные DGN-документы, повернутые страницы, больше одной гиперссылки, связанной с фигурой, гиперссылки, связанные со страницей документа, и свойства страницы документа.

Пользовательские стили заливки, типы линий и некоторые наконечники в Visio Viewer могут выглядеть иначе, чем в Visio.

Щелкните и перетащите документ в окне браузера. Для перемещения по документу можно также использовать полосы прокрутки или клавиши со стрелками.

Совет: Если вы не хотите перетаскивать документ, его можно сдвинуть с помощью полос прокрутки или клавиш со стрелками. Кроме того, вращая колесико мыши, документ можно сдвинуть вверх или вниз, а также влево или вправо (дополнительно удерживая нажатой клавишу SHIFT).

Чтобы увеличить определенную область в рисунке, нажмите CTRL+SHIFT и перетащите прямоугольник вокруг области, которая вы хотите увеличить.

Чтобы отцентрировать страницу в браузере, щелкните документ правой кнопкой мыши, выберите в контекстном меню пункт Масштаб, а затем — Страница целиком.

Чтобы перейти на другую страницу документа, щелкните вкладку этой страницы в нижней части окна документа.

Увеличение и уменьшение масштаба

Чтобы увеличить и уменьшить масштаб документа, выполните одно из указанных ниже действий.

Чтобы увеличить масштаб рисунка, щелкните его правой кнопкой мыши и выберите увеличить. Можно также нажать кнопку Увеличить Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документна Visio Viewer панели инструментов. Можно также нажать ALT+F7.

Чтобы увеличить определенную область в рисунке, нажмите CTRL+SHIFT и перетащите прямоугольник вокруг области, которая вы хотите увеличить.

Чтобы увеличить определенную точку в рисунке, нажмите CTRL+SHIFT, а затем щелкните точку, которая вы хотите увеличить.

Чтобы уменьшить масштаб рисунка, щелкните его правой кнопкой мыши и выберите уменьшить. Можно также нажать кнопку Уменьшить Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документна Visio Viewer панели инструментов. Вы также можете нажать ALT+SHIFT+F7.

Чтобы уменьшить масштаб определенной точки в рисунке, нажмите CTRL+SHIFT и щелкните правой кнопкой мыши точку, в которой нужно уменьшить масштаб.

Выравнивание документа по центру окна Visio Viewer

Чтобы выровнять документ по центру окна браузера, выполните одно из указанных ниже действий.

Щелкните документ правой кнопкой мыши, выберите в контекстном меню пункт Масштаб, а затем — Страница целиком.

Нажмите кнопку Масштаб страницы Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документна Visio Viewer панели инструментов.

Перетащите документ в центр окна браузера.

Переход по ссылке

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

Примечание: Чтобы вернуться к документу Visio после перехода по гиперссылке, открывшейся в том же окне, нажмите в браузере кнопку Назад.

Переход на другую страницу

Чтобы перейти на другую страницу документа, выполните одно из указанных ниже действий.

Щелкните ярлычок страницы, на которую нужно перейти, в нижней части окна документа.

Щелкните документ правой кнопкой мыши, выберите в контекстном меню пункт Перейти на страницу, а затем — нужную страницу.

Сочетания клавиш. Можно также нажать клавиши CTRL+PAGE DOWN, чтобы перейти к следующей странице, а CTRL+PAGE UP — для перемещения на предыдущую страницу.

Просмотр данных, сохраненных с фигурой

Дважды щелкните фигуру в документе Visio.

Данные фигуры появятся в диалоговом окне Свойства на вкладке Свойства фигуры. Если эта вкладка пуста, фигура не содержит никаких данных.

Печать документа из Visio Viewer

При печати Visio с помощью Visio Viewer печатается из веб-браузера, а не из Visio.

Настройте в окне браузера коэффициент масштаба и установите центральную точку для схемы, которые необходимо использовать на распечатанной странице.

Чтобы распечатать документ целиком, разверните схему в окне браузера и отцентрируйте ее. (Щелкните документ правой кнопкой мыши и выберите в контекстном меню пункты Масштаб > Страница целиком.)

Откройте параметры страницы в браузере для выбора настроек принтера.

Используйте функцию предварительного просмотра, чтобы увидеть, как будет выглядеть схема в печатном варианте.

Если вас не устраивает ее вид, закройте диалоговое окно предварительного просмотра, измените выравнивание схемы и параметр масштабирования, чтобы получить желаемый вид страницы.

Если при подготовке к печати вы измените какие-либо параметры в диалоговом окне Предварительный просмотр, это может привести к неправильной печати рисунка. Чтобы этого не случилось, не изменяйте параметры в этом диалоговом окне. Если необходимо изменить параметры принтера, сделайте это до печати в диалоговом окне Параметры страницы.

При печати Visio с помощью Visio Viewer печатается из веб-браузера, а не Visio. Печать из браузера означает, что ваш чертеж может выглядеть не так, как при печати из Visio; у вас меньше контроля над процессом печати, и вы можете печатать только одну страницу за раз.

При печати Visio из веб-браузера на печатной странице используются один и тот же коэффициент масштабирования и центр, который используется в окне браузера, поэтому то, что вы видите на мониторе, близко к печати. Однако перед печатью всегда выполняйте предварительный просмотр документа, чтобы убедиться в правильности ожидаемого результата.

Временное изменение свойств документа и просмотра

С помощью параметров на вкладках Отображение, Слои и Примечания можно скрыть и отобразить части схемы и средство просмотра.

Источник

Программное управление форматами файлов Visio

Узнайте, как в Visual Studio 2012 создать решение для чтения пакетов с новым форматом файлов, используемым в Visio 2013, выбора частей в пакете, изменения данных в части и добавления новых частей в пакет.

Основные сведения об управлении форматами файлов Visio

Приложения Visio предыдущих версий сохраняли файлы в защищенном двоичном формате (VSD) или в однодокументном формате XML-данных документа Visio (VDX). В Visio 2013 появился новый формат файлов (VSDX), который основан на XML и технологии архивирования ZIP. Как и в предыдущих версиях Visio, файлы сохраняются в одном контейнере. В отличие от файлов, сохраненных в прежних версиях Visio, файлы нового формата можно открывать, читать, обновлять, изменять и создавать без автоматизации приложения Visio 2013. Разработчики, которые умеют управлять XML или работать с пространством имен System.IO.Packaging, могут быстро приступить к программному управлению файлами нового формата. Разработчики, которые уже работали с форматом XML-данных документа Visio в предыдущих версиях приложения, обнаружат, что многие структуры этого формата перенесены в новый формат.

В примерах кода в этой статье предполагается, что у вас есть элементарное понимание классов в пространствах имен System.Xml.Linq и System.IO.Packaging. > В этой статье также предполагается, что вы знаете основные понятия и терминологию Open Packaging Conventions. Вы должны быть знакомы с основными понятиями о пакетах, частях документов или частях пакетов, а также о связях. Дополнительные сведения см. в статье OPC: новый стандарт упаковки данных. > В коде показано, как создавать запросы LINQ для выбора XML. В большей части примеров кода для создания запросов LINQ используется синтаксис запросов. При необходимости вы можете изменить любой из имеющихся в коде запросов LINQ, используя синтаксис методов LINQ. Дополнительные сведения о синтаксисе запросов и синтаксисе методов LINQ см. в статье Синтаксис запросов и синтаксис методов в LINQ (C#)> В табл. 1 перечислены основные темы, с которыми вам необходимо ознакомиться, прежде чем вы приступите к работе с данной статьей.

Табл. 1. Основные понятия, необходимые для управления форматом файлов Visio 2013

Название статьиОписание
Общие сведения о формате файлов Visio (VSDX)В этом кратком обзоре описаны некоторые основные компоненты формата файлов Visio 2013. В статье рассказывается о соглашениях Open Packaging Conventions (OPC), так как они применяются в формате файлов Visio 2013. Кроме того, в статье перечислен ряд отличий формата файлов Visio 2013 и предыдущего формата файлов XML-данных документа Visio (VDX).
OPC: новый стандарт упаковки данныхВ этой статье MSDN Magazine описаны соглашения Open Packaging Conventions в виде основных понятий.
Основные понятия Open Packaging Conventions
Общие сведения о форматах файлов Office (2007) Open XML
В этих двух статьях рассказывается, каким образом соглашения Open Packaging Conventions используются в файлах Microsoft Office. В статьях описано, как работают связи в пакете, и приведены примеры кода.

Создание VSDX-файла и решения Visual Studio

Прежде чем приступить к действиям, описанным в этой статье, вам потребуется создать файл Visio 2013, который вы будете открывать и которым будете управлять. Документ, используемый в примерах кода в этой статье, содержит одну страницу с двумя соединенными фигурами, при этом одна из фигур представляет собой фигуру «Начало/конец» из шаблона «Простая блок-схема».

Создайте файл Visio 2013, выполнив указанные ниже действия. Вы будете использовать его на следующих этапах изучения этой статьи.

Создание файла в Visio 2013

Откройте Visio 2013.

Создайте документ на основе шаблона «Простая блок-схема». Для этого щелкните КАТЕГОРИИ, Блок-схема, Простая блок-схема, Создать.

В окне Фигуры перетащите фигуру Начало/конец на холст.

Выберите новую фигуру «Начало/конец» на полотне и введите текст Begin Process (Начать процесс).

В окне Фигуры перетащите фигуру Процесс на холст.

Выберите новую фигуру «Процесс» на полотне и введите текст Perform some task (Выполнить задачу).

В контекстном меню фигуры «Начало/конец» выберите пункт Добавление на страницу одной соединительной линии и нарисуйте соединительную линию между фигурами «Начало/конец» и «Процесс» на холсте, как показано на рис. 1.

Рис. 1. Простой документ Visio 2013

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Сохраните файл на рабочем столе в формате VSDX. Для этого щелкните Файл, Сохранить как, Компьютер, Рабочий стол.

В диалоговом окне Сохранить как в поле Имя файла введите Visio Package, в списке Тип файла выберите пункт Документ Visio (*.vsdx) и нажмите кнопку Сохранить.

Закройте файл, а затем закройте Visio 2013.

Иногда Visio успешно открывает файл, даже если в файле имеются проблемы. Чтобы приложение Visio сообщало вам о проблемах с файлами при тестировании решений, которые управляют файлами Visio на уровне пакета файлов, включите функцию предупреждений об открытии файлов. > Чтобы включить функцию предупреждений об открытии файлов в Visio 2013, щелкните Файл, Параметры, Дополнительно. В разделе Сохранение и открытие щелкните Предупреждать об открытии файлов.

В этих процедурах для управления файлом Visio Package.vsdx используется консольное приложение Windows. Создайте и настройте консольное приложение Windows в Visual Studio 2012, выполнив указанные ниже действия.

Создание решения в Visual Studio 2012

В меню Файл щелкните Создать, Проект.

В диалоговом окне Создать проект разверните пункт Visual C# или Visual Basic и щелкните Windows, Консольное приложение.

В поле Имя введите VisioFileAccessor, выберите расположение для проекта и нажмите кнопку OK.

В меню Проект выберите пункт Добавить ссылку.

В диалоговом окне Менеджер ссылок в разделе Сборки щелкните Платформа и добавьте ссылку на компоненты System.Xml и WindowsBase.

В файле Program.cs или Module1.vb для проекта добавьте следующие директивы using (инструкции Imports в Visual Basic):

Кроме того, в файле Program.cs или Module1.vb file перед концом метода Main класса Program (Module1 в Visual Basic) добавьте указанный ниже код, который приостанавливает выполнение консольного приложения, пока пользователь не нажмет клавишу.

Открытие файла Visio 2013 как пакета

Чтобы можно было управлять какими-либо данными в файле, необходимо сначала открыть файл в объекте Package, который содержится в пространстве имен System.IO.Packaging. Объект Package представляет весь файл Visio. Он предоставляет доступ к элементам, с помощью которых можно выбирать отдельные части документа в пакете файла. В частности, класс Package предоставляет доступ к статическому методу Open(String, FileMode, FileAccess), с помощью которого можно открывать файл как пакет. Кроме того, он предоставляет доступ к методу Close(), с помощью которого можно закрыть пакет после работы с ним.

Для открытия файла Visio в объекте Package рекомендуется использовать блок using, чтобы не пришлось явно закрывать пакет файла по завершении работы с ним. Кроме того, можно явно вызвать метод Package.Close в блоке finally конструкции try/catch/finally.

Используя указанный ниже код, можно получить полный путь к файлу Visio Package.vsdx с помощью объекта FileInfo, передать этот путь в качестве аргумента в метод Package.Open и возвратить объект Package в вызывающий код.

Открытие VSDX-файла в виде пакета

После метода Main в классе Program (или Module1 в Visual Basic) добавьте указанный ниже код.

В методе Main класса Program (или Module1 в Visual Basic) добавьте указанный ниже код.

Выбор и чтение частей пакета из пакета

С помощью кода в указанной ниже процедуре можно получить объект PackagePartCollection из объекта Package в виде коллекции, выполнить итерацию объектов PackagePart в этой коллекции, а затем записать универсальный код ресурса (URI) и тип контента каждого объекта PackagePart в консоль.

Выполнение итерации частей пакета в пакете

После метода OpenPackage в классе Program (или Module1 в Visual Basic) добавьте указанный ниже код.

Добавьте следующий код в блок using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic):

Выполните отладку решения, нажав клавишу F5. По завершении работы программы выйдите из нее, нажав любую клавишу.

Консольное приложение создает примерно следующие выходные данные (для краткости часть выходных данных опущена):

Package part URI: /docProps/app.xml

Content type: application/vnd.openxmlformats-officedocument.extended-properties+xml

Package part URI: /docProps/core.xml

Content type: application/vnd.openxmlformats-officedocument.core-properties+xml

Package part URI: /docProps/custom.xml

Content type: application/vnd.openxmlformats-officedocument.custom-properties+xml

Package part URI: /docProps/thumbnail.emv

Content type: image/x-emf

Package part URI: /visio/document.xml

Content type: application/vnd.ms-visio.drawing.main+xml

Package part URI: /visio/_rels/document.xml.rels

Content type: application/vnd.openxmlformats-package.relationships+xml

Package part URI: /_rels/.rels

Content type: application/vnd.openxmlformats-package.relationships+xml

Press any key to continue …

Обычно требуется выбрать один объект PackagePart, не выполняя итерацию всех таких объектов. Вы можете получить объект PackagePart из объекта Package, используя его связь с объектом Package или другим объектом PackagePart. В формате файлов Visio 2013 связь представляет собой дискретный объект, который описывает, каким образом часть документа связана с пакетом файла или как две части документа связаны друг с другом. Например, сам пакет файла Visio 2013 имеет связь со своей частью Visio Document, а часть Visio Document имеет связь с частью Windows. Эти связи представлены как экземпляры классов PackageRelationship или PackageRelationshipCollection.

Класс Package предоставляет доступ к нескольким методам, которые используются для получения связей и содержатся в нем в виде объектов PackageRelationship или PackageRelationshipCollection. С помощью метода GetRelationshipsByType(String) вы можете создать экземпляр объекта PackageRelationshipCollection, содержащий объекты PackageRelationship одного определенного типа. Безусловно, чтобы использовать метод Package.GetRelationshipsByType, вы должны знать, какой тип связи необходим вам. Типы связей представляют собой строки в формате пространства имен XML. Например, тип связи части Visio Document — https://schemas.microsoft.com/visio/2010/relationships/document.

После того как вы получите сведения о связи объекта PackagePart с объектом Package или другим объектом PackagePart (то есть когда у вас будет объект PackageRelationship, который ссылается на необходимый вам объект PackagePart), вы сможете использовать эту связь для получения универсального кода ресурса (URI) этого объекта PackagePart. После этого можно передать универсальный код ресурса (URI) в метод Package.GetPart, чтобы возвратить объект PackagePart.

Кроме того, вы можете получить ссылку на определенный объект PackagePart, используя только метод Package.GetPart и универсальный код ресурса (URI) объекта PackagePart. В этом случае можно исключить этап получения связей части пакета. Некоторые части пакета в пакете файла Visio можно сохранять в расположения, отличные от расположений, используемых по умолчанию, в пакете. Не следует рассчитывать на то, что часть пакета всегда будет расположена в одном и том же универсальном коде ресурса (URI) для каждого файла. > Вместо этого для доступа к отдельным объектам PackagePart рекомендуется использовать связи.

Выполните указанные ниже действия, чтобы получить объект PackagePart (часть Visio Document), используя объект PackageRelationship из объекта Package, который ссылается на часть.

Выбор определенной части пакета в пакете с использованием связи

После метода IteratePackageParts в классе Program (или Module1 в Visual Basic) добавьте указанный ниже метод.

Замените код в блоке using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) указанным ниже кодом.

Как было сказано выше, вы также можете получать объекты PackagePart, используя их связи с другими объектами PackagePart. Это важно, так как в документах Visio любой сложности у большинства объектов PackagePart нет связи с объектом Package. Например, у отдельной части Page Content в пакете файла (то есть /visio/pages/page1.xml) имеется связь с частью Page Index (то есть /visio/pages/pages.xml), но не с самим пакетом файла. Если у вас нет точного универсального кода ресурса (URI) отдельной страницы в пакете, вы можете использовать ее связь с частью Page Index, чтобы получить ссылку на нее.

Класс PackagePart предоставляет доступ к методу GetRelationshipsByType(String), который можно использовать для возврата объекта PackageRelationshipCollection, содержащего объект PackageRelationship только одного типа. Если у вас есть объект PackageRelationshipCollection, вы можете выбрать необходимый вам объект PackageRelationship из коллекции и сослаться на объект PackagePart.

С помощью указанного ниже кода можно получить объект PackagePart из объекта Package, используя его связь с другим объектом PackagePart (получив объект PackageRelationship из последнего).

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

После метода GetPackagePart в классе Program (или Module1 в Visual Basic) добавьте указанный ниже метод перегрузки.

Добавьте указанный ниже код в блок using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) после кода, указанного в предыдущей процедуре. (Не удаляйте код, который вы добавили в предыдущей процедуре.)

Чтобы можно было вносить изменения в XML, включенный в часть документа, необходимо сначала загрузить документ XML в объект, который позволяет читать XML c помощью классов XDocument или XmlDocument. Оба эти класса предоставляют доступ к методам, используемым для решения таких задач, как выбор элементов XML, содержащихся в документах XML, создание, чтение и запись атрибутов, а также вставка новых элементов XML в документ.

С помощью класса XDocument можно создавать запросы к XML, используя LINQ. Используя LINQ, можно легко выбирать отдельные элементы из документа XML, создавая запросы, а не выполняя итерацию всех элементов в коллекции и не проверяя их, чтобы выбрать необходимые элементы. По этим причинам в процедурах, описанных ниже в этой статье, для работы с XML используется класс XDocument и другие классы пространства имен System.Xml.Linq.

С помощью указанных ниже процедур можно открыть объект PackagePart как документ XML в объекте XDocument.

Чтение XML в части пакета

После последней перегрузки для метода GetPackagePart в классе Program (или Module1 в Visual Basic) добавьте указанный ниже метод.

Добавьте указанный ниже код в блок using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) после кода, указанного в предыдущей процедуре.

Выбор и изменение данных XML в части пакета

После загрузки части документа в объект XDocument для выбора элементов XML и внесения изменений в документ XML можно использовать LINQ. Вы можете изменять данные XML, добавлять или удалять данные, а затем сохранять документ XML обратно в часть документа.

Самая распространенная задача управления форматом файлов Visio — выбор определенных элементов или коллекций элементов XML в документе. Пространство имен System.Xml.Linq включает класс XElement, который представляет элемент XML. С помощью класса XElement можно на детальном уровне получить доступ к данным, содержащимся в файле Visio, от отдельных элементов Shape до элементов ValidationRule (в качестве примера).

С помощью указанного ниже кода можно выбрать элементы Shape из объекта XDocument (содержащего часть Page Contents), а затем выбрать определенный элемент Shape.

Выбор определенного элемента в части пакета

После метода GetXMLFromPart в классе Program (или Module1 в Visual Basic) добавьте указанный ниже метод.

После метода GetXElementsByName в классе Program (или Module1 в Visual Basic), описанного на предыдущем этапе, добавьте указанный ниже метод.

Добавьте указанный ниже код в блок using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) после кода, указанного в предыдущей процедуре.

После получения ссылки на объект XElement, содержащийся в объекте XDocument, вы можете управлять им, как и любыми другими данными XML, и, соответственно, изменять данные, содержащиеся в файле Visio. Например, если при открытии в Visio у какой-либо фигуры имеется текст, соответствующий элемент Shape будет содержать по крайней мере один элемент Text. Если вы измените значение этого элемента Text, то при просмотре файла в Visio у текст фигуры изменится.

Добавьте указанный ниже код в блок using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic), чтобы изменить текст в фигуре Start/End (Начало/конец) с Begin process (Начать процесс) на Start process (Запустить процесс).

В предыдущем примере кода существующий текст фигуры и строка, используемая для его замены, содержат одинаковое количество символов. Кроме того, обратите внимание на то, что запрос LINQ изменяет значение последнего дочернего узла возвращаемого элемента (который в данном случае представляет собой текстовый узел). Это сделано, чтобы не допустить изменения параметров элемента cp, который представляет собой дочерний элемент элемента Text. > Если программно изменить текст фигуры путем перезаписи всех дочерних элементов элемента Text, это может привести к нестабильности файла. Как показано в примере выше, форматирование текста представлено элементами cp в элементе Text в файле. Определение форматирования хранится в родительском элементе Section. Если эти два элемента информации станут несогласованными, файл может вести себя непредсказуемо. Приложение Visio исправляет многие виды несогласованности, но лучше убедиться, что все изменения, внесенные программным способом, согласованы. В этом случае вы сможете контролировать поведение файла.

Когда вы вносите изменения в XML части документа, эти изменения хранятся только в памяти. Чтобы сохранить их в файл, необходимо сохранить XML обратно в часть документа.

В указанном ниже коде показано, как с помощью классов XmlWriter и XmlWriterSettings записать XML обратно в часть пакета. Несмотря на то что для сохранения XML обратно в часть можно использовать метод Save(), классы XmlWriter и XmlWriterSettings позволяют более тонко управлять выводом данных, в том числе указывать тип кодировки. Класс XDocument предоставляет доступ к методу WriteTo(XmlWriter), который берет объект XmlWriter и записывает XML обратно в поток.

С помощью указанных ниже действий можно сохранить XML из страницы Visio обратно в часть Page Contents.

Сохранение измененного XML обратно в пакет

После метода GetXElementByAttribute в классе Program (или Module1 в Visual Basic), описанного на предыдущем этапе, добавьте указанный ниже метод.

Добавьте указанный ниже код в блок using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) после кода, указанного в предыдущей процедуре.

Выполните отладку решения, нажав клавишу F5. По завершении работы программы выйдите из нее, нажав любую клавишу.

Откройте файл Visio Package.vsdx в Visio 2013.

Теперь фигура «Начало/конец» должна содержать текст Start process (Запустить процесс).

Пересчет данных в файле

При внесении некоторых изменений в данные в файле приложению Visio может потребоваться пересчитать документ при открытии файла. В Visio имеется большое количество логики для схем, особенно для связей фигур (то есть когда одна фигура зависит от другой) и соединения фигур. Если изменить какие-либо данные, которые используются в пользовательской логике, приложению Visio потребуется распространить изменения на все затронутые вычисляемые данные в файле.

Формат файла Visio 2013 включает пару методов, которые вы можете использовать для пересчета данных в файле. Существует три типа сценариев, которые необходимо учесть, принимая решение о том, необходимо ли выполнить пересчет в файле Visio, и о том, как сделать это.

Изменения данных не затрагивают другие значения в формате файла. Вам не нужно добавлять дополнительные инструкции в Visio для пересчета документа. Как было показано выше, вы можете часто изменять текст фигуры без необходимости пересчитывать документ.

Изменения данных ограничиваются изменением значений ячеек ShapeSheet в XML и при этом имеются другие значения ShapeSheet, зависящие от этих данных. В этом случае необходимо добавить инструкцию по обработке XML (используя класс XProcessingInstruction) в элемент Cell, который был изменен. Например, ячейка ThemeIndex для фигуры влияет на значения нескольких других ячеек ShapeSheet, содержащихся в фигуре. Если вы измените ячейку ThemeIndex в самом файле (например, элемент Cell со значением N, равным ThemeIndex), то для обновления зависимых значений вам придется добавить инструкцию по обработке в элемент Cell.

Изменения данных влияют на расположение соединительных линий или точек соединений. Вот еще одна ситуация: в данные ShapeSheet внесено много изменений, и вы хотите пересчитать весь документ с помощью одной инструкции (а не добавлять отдельные инструкции по обработке для каждого изменения). В этом случае вы можете дать приложению Visio указание пересчитать весь документ при открытии документа. Для этого добавьте свойство RecalcDocument в часть Custom File Properties (/docProps/custom.xml) пакета Visio. Пример сценария такого типа — изменение положения или размера фигур на связанной схеме.

Учтите, что это самый затратный вариант с точки рения производительности.

Выполните указанные ниже действия, чтобы вставить элемент Cell в элемент Shape, где из-за нового значения необходимо пересчитать другие элементы Cell в том же объекте Shape. Новый элемент Cell включает инструкцию по обработке в виде дочернего элемента. Это позволяет сообщить приложению Visio о том, что необходимо выполнить локальный пересчет.

Пересчет значений для одной фигуры

Замените код из двух предыдущих примеров (изменение текста фигуры и вызов метода SaveXDocumentToPart ) в блоке using в методе Main класса Program (в блоке Using метода Main в модуле Module1 в Visual Basic) указанным ниже кодом.

Выполните отладку решения, нажав клавишу F5. По завершении работы программы выйдите из нее, нажав любую клавишу.

Откройте файл Visio Package.vsdx в Visio 2013. Теперь у фигуры «Начало/конец» должен быть другой цвет заливки.

Цвет фигуры зависит от значения ячейки ThemeIndex: оно определяет активную тему, из которой фигура наследует параметры. В предыдущем примере фигура настроена так, чтобы наследовать параметры другой темы (ячейка ThemeIndex имеет значение 25). Если вы не используете инструкцию по обработке, цвет текста фигуры (который также зависит от значения ячейки ThemeIndex) не будет пересчитан. Цвет заливки фигуры изменится на белый, а текст будет по-прежнему белый и станет нечитаемым. Кроме того, если не использовать инструкцию по обработке, Visio может обновить фигуру позже, и файл будет в нестабильном состоянии, при котором значения параметров форматирования фигуры могут быть обновлены непредсказуемым образом.

Если вы изменяете данные в файле таким образом, что приложению Visio требуется пересчитать документ (например, изменяете положение связанной фигуры, из-за чего приложению Visio необходимо принудительно изменить маршруты соединительных линий), вам необходимо добавить инструкцию по пересчету в файл Visio. Чтобы создать инструкцию, добавьте элемент property, атрибут name которого имеет значение RecalcDocument, в XML в часть Custom File Properties пакета файла Visio. Рекомендуется проверить часть Custom File Properties и убедиться, что инструкция RecalcDocument еще не зарегистрирована в файле.

С помощью указанного ниже кода можно изменить значение ячейки PinY фигуры «Начало/конец» из предыдущих примеров. Этот код выбирает элемент Cell, который содержит данные ячейки PinY в виде объекта XElement, путем использования значения его атрибута N. Затем код добавляет инструкцию по пересчету в часть Custom File Properties файла Visio.

Пересчет всего документа, когда он открыт

После метода SaveXDocumentToPart в классе Program (или Module1 в Visual Basic), описанного на предыдущем этапе, добавьте указанный ниже метод.

После метода RecalcDocument в классе Program (или Module1 в Visual Basic), описанного на предыдущем этапе, добавьте указанный ниже метод.

Замените код из предыдущего примера в блоке using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) указанным ниже кодом.

Выполните отладку решения, нажав клавишу F5. По завершении работы программы выйдите из нее, нажав любую клавишу.

Откройте файл Visio Package.vsdx в Visio 2013.

Теперь фигура «Начало/конец» должна быть расположена в 2 дюймах от верхнего края схемы. Маршрут соединительной линии между фигурами «Начало/конец» и «Процесс» должен быть изменен согласно изменениям макета. Если не добавить свойство RecalcDocument в файл, положение фигуры изменится, а маршрут соединительной линии не будет изменен, и соединительная линия не будет вести к новому расположению фигуры.

Добавление новой части пакета в пакет

Один из самых распространенных сценариев изменения пакета файла — добавление новой части документа в пакет. Например, если вы хотите добавить страницу в документ Visio путем добавления контента в пакет, вам потребуется добавить часть Page Contents в пакет.

Процесс добавления новой части в пакет прост.

Создайте документ XML с данными для объекта PackagePart. Уделите особое внимание пространствам имен XML, управляющим схемой для определенного типа документа XML, который вы создаете.

Создайте файл, в котором будет содержаться XML, и сохраните его в расположение в объекте Package.

Создайте необходимые связи между новым объектом PackagePart и объектом Package или другими объектами PackagePart.

Обновите все существующие части, которые должны ссылаться на новую часть. Например, если вы добавляете новую часть Page Contents (новую страницу) в файл, вам также потребуется обновить часть Page Index (файл /visio/pages/pages.xml), чтобы она включала правильные сведения о новой странице.

Выполните указанные ниже действия, чтобы создать часть Ribbon Extensibility в файле Visio. Новая часть Ribbon Extensibility добавляет на ленту новую вкладку с одной группой, содержащей одну кнопку.

Создание части пакета

После метода CheckForRecalc в классе Program (или Module1 в Visual Basic) из предыдущей процедуры добавьте указанный ниже метод.

После метода CreateCustomUI в классе Program (или Module1 в Visual Basic), описанного на предыдущем этапе, добавьте указанный ниже метод.

Замените весь код в блоке using в методе Main класса Program (блок Using метода Main в модуле Module1 в Visual Basic) указанным ниже кодом.

Выполните отладку решения, нажав клавишу F5. По завершении работы программы выйдите из нее, нажав любую клавишу.

Откройте файл Visio Package.vsdx в Visio 2013 и перейдите на вкладку CUSTOM (Настраиваемая).

При открытии файла в Visio 2013 настроенная лента выглядит, как показано на рис. 2.

Рис. 2. Вкладка Custom (Настраиваемая) на ленте Visio 2013

Чем открыть visio документ. Смотреть фото Чем открыть visio документ. Смотреть картинку Чем открыть visio документ. Картинка про Чем открыть visio документ. Фото Чем открыть visio документ

Благодарности

Мы хотим поблагодарить Visio MVP Эла Эдланда (Al Edlund) за его вклад в создание примеров кода, изложенных в данной технической статье. Эл — признанный специалист по управлению форматами файлов Visio, в том числе форматом XML-данных документа Visio (VDX) и новым форматом файлов Visio (VSDX). Эл создал проекты, которые позволяют программным способом изучить форматы файлов Visio и показать их внутреннюю структуру.

Дополнительные сведения о том, как Эл работает с форматом файлов Visio, см. по ссылкам в разделе «Дополнительные ресурсы» ниже.

См. также

Видеоролик pkgVisio_pt1 на веб-сайте YouTube.

Видеоролик pkgVisio_pt2 на веб-сайте YouTube.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *