VSSX в SVG

Microsoft Visio часто используется в бизнес-настройках для организации, визуализации и передачи сложных рабочих процессов, таких как организационные диаграммы, модели баз данных, бизнес-схемы. Microsoft представила формат VSSX, когда выпустила Visio 2013. VSSX — это формат на основе Zip, который заменил двоичный формат VSS и может использоваться в Visio 2013 и более поздних версиях. Поэтому для открытия, редактирования и сохранения файлов VSSX мы используем Microsoft Visio. Но он доступен только на платформе Windows, а у Microsoft нет настольной версии Visio для платформ macOS или Linux. Поэтому с точки зрения переносимости мы можем рассмотреть возможность преобразования файлов VSSX в формат SVG, который имеет такие преимущества, как масштабируемость, дружественность к SEO, возможность редактирования и независимость от разрешения на любой платформе. Кроме того, SVG является гибким, стандартом W3C, легким, пригодным для печати, индексируемым и легко сжимаемым.

В этой статье мы более подробно обсудим следующие темы:

API обработки файлов Visio

Aspose.Diagram Cloud — это REST API, предоставляющий возможности для создания, редактирования и рендеринга диаграмм Visio в других популярных форматах. Кроме того, приложение на основе Aspose.Diagram Cloud не требует никакого стороннего программного обеспечения для обработки диаграмм/блок-схем Microsoft Visio и использует собственный движок. Таким образом, с помощью этого простого в использовании решения вы можете выполнять сложные операции с файлами Visio с меньшим количеством строк кода. Такая конструкция позволяет легко сосредоточиться на бизнес-требованиях и забыть о внутренних сложностях реализации.

Теперь, чтобы еще больше облегчить нашим клиентам задачу, мы создали SDK для конкретных языков программирования, чтобы они могли воспользоваться преимуществами обработки файлов Visio в своих любимых IDE. Чтобы выполнить преобразование файлов Visio в формат SVG в приложении .NET, попробуйте использовать Aspose.Diagram Cloud SDK для .NET.

Установка

Первый шаг в использовании Cloud SDK — его установка. Его можно загрузить с NuGet или GitHub. Выполните следующую команду в терминале, чтобы установить SDK через NuGet:

nuget install Aspose.Diagram-Cloud

Или выполните следующую команду в диспетчере пакетов NuGet:

 PM> Install-Package Aspose.Diagram-Cloud
Менеджер пакетов NuGet

Изображение 1: Установка пакета с помощью диспетчера пакетов NuGet.

Установка Visual Studio

Cloud SDK также можно напрямую добавить в решение Visual Studio:

  1. Откройте обозреватель решений.
  2. Разверните проект и щелкните правой кнопкой мыши папку Packages в вашем решении.
  3. Выберите опцию «Управление пакетами NuGet…»
  4. Нажмите на вкладку «Обзор» и найдите «Aspose.Diagram-Cloud».
  5. Нажмите на пакет Aspose.Diagram-Cloud, выберите соответствующую версию на правой вкладке и нажмите кнопку Добавить пакет.
Пакет Aspose.Diagram-Cloud

Изображение 2: Aspose.Diagram-Cloud в Visual Studio 2022.

Подписка на облако

После установки следующим шагом будет создание бесплатной учетной записи подписки, посетив панель управления Aspose.Cloud. Во время подписки не требуются данные кредитной карты или другие платежные реквизиты. Кроме того, в рамках бесплатной учетной записи подписки вы можете выполнить до 150 бесплатных запросов на обработку документов.

Так что используйте свой аккаунт GitHub или Google, чтобы просто зарегистрироваться или нажмите кнопку Создать новую учетную запись и укажите необходимую информацию. Теперь войдите в панель управления, используя учетные данные, разверните раздел «Приложения» на панели управления и прокрутите вниз до раздела «Учетные данные клиента», чтобы увидеть данные Client ID и Client Secret.

Учетные данные клиента

Изображение 3: Учетные данные клиента на панели управления Aspose.Cloud.

VSSX в SVG в C#

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

  • Первый шаг — создать экземпляр класса DiagramApi, передав данные ClientID и ClientSecret в качестве аргументов.
  • Во-вторых, прочитайте входное содержимое VSSX в экземпляр FileStream.
  • В-третьих, создайте объект класса StorageApi, передав те же данные ClientID и Client Secret в качестве аргументов.
  • Следующий шаг — загрузка файла VSSX в облачное хранилище с помощью метода UploadFile(…) StorageApi.
  • Теперь вызовите метод DownloadFileWithFormat(..) DiagramApi, чтобы инициировать операцию преобразования файла.
  • Наконец, сохраните полученный файл на локальном диске с помощью объекта File.Create.
// Получите ClientID с https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// создать объект DiagramApi
DiagramApi diagramApi = new DiagramApi("client_credentials", clientID, clientSecret);

// имя входного файла VSSX
String inputFile = "MVPSession1SimpleTimeline.vssx";
// результирующее имя файла SVG
String resultant = "Conveted.svg";

try
{   
    // прочитать входной файл VSSX с локального диска
    using (var inputStream = new FileStream("C:\\Users\\Downloads\\" + inputFile, FileMode.Open))
    {
        // создать экземпляр класса Storage
        StorageApi storageApi = new StorageApi("client_credentials", clientID, clientSecret);
        // загрузить входной файл VXXS в облачное хранилище
        storageApi.UploadFile(inputFile, inputStream);
    
        // инициировать процесс преобразования файла
        var response = diagramApi.DownloadFileWithFormat(inputFile, format: "SVG", null);
        if (response != null)
        {
            Console.WriteLine("Successfully converted VSD to SVG !");
        }

        // пользовательский метод сохранения результирующего файла на локальном системном диске
        saveToDisk(response, "C:\\Users\\Downloads\\" + resultant);
    }
}
catch (Exception ex)
{
    Console.WriteLine("error:" + ex.Message + "\n" + ex.StackTrace);
}

static void saveToDisk(Stream responseStream, String resultantFile)
{
    var fileStream = File.Create(resultantFile);
    responseStream.Seek(0, SeekOrigin.Begin);
    responseStream.CopyTo(fileStream);
    fileStream.Close();
}

Входные файлы VSSX и SVG, использованные в примере выше, можно загрузить с MVPSession1SimpleTimeline.vssx и converted.svg.

Предварительный просмотр VSSX в SVG

Изображение 4: Предварительный просмотр преобразования VSSX в SVG.

Конвертируйте VSSX в SVG с помощью команды cURL

Поскольку наш Cloud API основан на архитектуре REST, к нему также можно получить доступ с помощью команд cURL. Но, как упоминалось ранее, API доступны только авторизованным лицам, поэтому на основе Client ID и Client Secret нам необходимо создать токен доступа JWT. Пожалуйста, выполните следующую команду для генерации токена доступа JWT.

curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=4ccf1790-accc-41e9-8d18-a78dbb2ed1aa&client_secret=caac6e3d4a4724b2feb53f4e460eade3" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"

После того, как мы сгенерируем токен доступа JWT, загрузите файл в облачное хранилище с помощью следующей команды cURL.

curl -X PUT "https://api.aspose.cloud/v3.0/diagram/storage/file/MVPSession1SimpleTimeline.vssx" \
-H  "accept: application/json" \
-H  "authorization: Bearer <JWT Token>" \
-H  "Content-Type: multipart/form-data" \
-d {"File":{}}

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

curl -X GET "https://api.aspose.cloud/v3.0/diagram/MVPSession1SimpleTimeline.vssx?format=SVG" \
-H  "accept: multipart/form-data" \
-H  "authorization: Bearer <JWT Token>" \
-o Converted.svg

Заключение

В этой статье мы обсудили возможности Aspose.Diagram Cloud для преобразования формата файла VSSX в SVG. Мы обсудили шаги для выполнения преобразования с использованием кода C# .NET, а также с использованием команды cURL. Наши SDK разработаны по лицензии MIT, и его полный исходный код можно загрузить с GitHub. Кроме того, если у вас возникнут какие-либо проблемы при использовании API, пожалуйста, свяжитесь с нами через Free Support forum.

Похожие статьи

Мы также рекомендуем вам посетить следующие ссылки, чтобы узнать больше о