Как визуализировать график, читающий файл Visio - PullRequest
0 голосов
/ 29 февраля 2020

Я прочитал эту интересную статью от Microsoft. Я узнал, что файл Visio - это не что иное, как Zip-файл, содержащий XML со всей информацией о графике. Играя с кодом из той же статьи, мне удалось изучить файл Visio, получив, например, XML узлов для интересующих меня фигур.

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

В той же статье, внизу страницы, есть ссылка на то, что называется pkgVisio. Проект VB, который может исследовать и отображать график. Проблема с этим проектом 1) Это в VB! 2) Он ссылается на несколько библиотек DLL, которые я не знаю, и которые я не знаю, где взять (AxMicrosoft.Office.Interop.VisOcx, Microsoft.Office.Interop.Visio, Microsoft.Office.Interop.VisOcx, Microsoft. Practices.EnterpriseLibrary.Common, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling, Microsoft.Practices.EnterpriseLibrary.ExceptionHandling.Logging)

Я ищу способ разработки программы, которая может отображать файл Visio или, если существует, простой проект, который делает то же самое.

Любая подсказка или помощь будут действительно оценены, спасибо

1 Ответ

1 голос
/ 29 февраля 2020

Думаю, если у вас есть диаграмма реального мира, эта задача более или менее безнадежна. Хотя файл Visio vsdx состоит из XML файлов, которые являются простым текстом, внутри этих XML файлов есть формулы. Проблема не в чтении файла XML, проблема в построении движка рендеринга, который на самом деле является «гигантским калькулятором», как однажды заметил один из создателей Visio. Это означает, что, как правило, вы не найдете координаты фигур для рендеринга внутри этих файлов XML, а скорее правила для расчета этих координат.

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

Упомянутые библиотеки:

  • VisOcx - это элемент управления рисованием Visio, он устанавливается только вместе с Visio сам. По сути, это элемент управления ActiveX для встраивания Visio в ваше приложение.

  • EnterpriseLibrary - это библиотека Microsoft для предприятий

...