VSSX para SVG

O Microsoft Visio é frequentemente utilizado em ambientes empresariais para organizar, visualizar e comunicar fluxos de trabalho complexos, como organogramas, modelos de banco de dados, diagramas de fluxogramas empresariais. A Microsoft introduziu o formato VSSX quando lançou o Visio 2013. VSSX é um formato baseado em Zip que substituiu o formato VSS baseado em binário e pode ser utilizado pelo Visio 2013 e superior. Portanto, para abrir, editar e salvar arquivos VSSX, usamos o Microsoft Visio. Mas ele só está disponível na plataforma Windows e a Microsoft não tem uma versão desktop do Visio para macOS ou plataforma Linux. Portanto, de uma perspectiva de portabilidade, podemos considerar converter arquivos VSSX para o formato SVG que tem benefícios como escalabilidade, ser amigável ao SEO, capacidade de edição e independência de resolução em qualquer plataforma. Além disso, SVG é flexível, um padrão W3C, leve, imprimível, indexável e facilmente compactável.

Neste artigo, discutiremos os seguintes tópicos com mais detalhes

API de processamento de arquivos do Visio

Aspose.Diagram Cloud é uma API REST que fornece os recursos para criar, editar e renderizar diagramas do Visio para outros formatos populares. Além disso, um aplicativo baseado no Aspose.Diagram Cloud não requer nenhum software de terceiros para processar diagramas/fluxogramas do Microsoft Visio e depende de seu próprio mecanismo. Portanto, com a ajuda desta solução fácil de usar, você pode executar operações complexas em arquivos do Visio com menos linhas de código. Este design fornece uma facilidade para manter o foco nos requisitos de negócios e esquecer as complexidades de implementação interna.

Agora, para facilitar ainda mais nossos clientes, criamos SDKs específicos de linguagem de programação para que eles possam aproveitar os benefícios dos processamentos de arquivos do Visio em seus IDEs favoritos. Para executar a conversão de arquivos do Visio para o formato SVG no aplicativo .NET, tente usar o Aspose.Diagram Cloud SDK para .NET.

Instalação

O primeiro passo para usar o Cloud SDK é sua instalação. Ele pode ser baixado do NuGet ou GitHub. Execute o seguinte comando no terminal para instalar o SDK via NuGet:

nuget install Aspose.Diagram-Cloud

Ou execute o seguinte comando no Gerenciador de Pacotes NuGet:

 PM> Install-Package Aspose.Diagram-Cloud
Gerenciador de Pacotes NuGet

Imagem 1:- Instalação de pacotes usando o Gerenciador de Pacotes NuGet.

Instalação do Visual Studio

O Cloud SDK também pode ser adicionado diretamente dentro da solução do Visual Studio:

  1. Abra o Solution Explorer.
  2. Expanda o projeto e clique com o botão direito do mouse na pasta Pacotes dentro da sua solução.
  3. Selecione a opção Gerenciar pacotes NuGet…
  4. Clique na aba Navegar e procure por “Aspose.Diagram-Cloud“.
  5. Clique no pacote Aspose.Diagram-Cloud, selecione a versão apropriada na aba direita e clique no botão Adicionar pacote.
Pacote Aspose.Diagram-Cloud

Imagem 2:- Aspose.Diagram-Cloud no Visual Studio 2022.

Assinatura de nuvem

Após a instalação, o próximo passo é criar uma conta de assinatura gratuita visitando Aspose.Cloud dashboard. Durante a assinatura, nenhum cartão de crédito ou outros detalhes de pagamento são necessários. Além disso, em uma conta de assinatura gratuita, você pode executar até 150 solicitações de processamento de documentos gratuitas.

Então use sua conta do GitHub ou Google para simplesmente se inscrever ou clique no botão Criar uma nova conta e forneça as informações necessárias. Agora faça login no painel usando credenciais e expanda a seção Applications do painel e role para baixo em direção à seção Client Credentials para ver os detalhes do Client ID e do Client Secret.

Credenciais do cliente

Imagem 3:- Credenciais do cliente no painel do Aspose.Cloud.

VSSX para SVG em C#

O processo de conversão é rápido e confiável, oferecendo resultados de alta fidelidade, independentemente do formato de arquivo resultante.

  • O primeiro passo é criar uma instância da classe DiagramApi enquanto passa os detalhes ClientID e ClientSecret como argumentos
  • Em segundo lugar, leia o conteúdo VSSX de entrada na instância FileStream
  • Em terceiro lugar, crie um objeto da classe StorageApi passando os mesmos detalhes do ClientID e do Client Secret como argumentos
  • O próximo passo é carregar o arquivo VSSX no armazenamento em nuvem usando o método UploadFile(…) do StorageApi
  • Agora chame o método DownloadFileWithFormat(..) do DiagramApi para iniciar a operação de conversão de arquivo
  • Por fim, salve o arquivo resultante na unidade local usando o objeto File.Create
// Obter ClientID de https://dashboard.aspose.cloud/
string clientSecret = "d757548a9f2558c39c2feebdf85b4c44";
string clientID = "4db2f826-bf9c-42e7-8b2a-8cbca2d15553";

// crie um objeto de DiagramApi
DiagramApi diagramApi = new DiagramApi("client_credentials", clientID, clientSecret);

// nome do arquivo VSSX de entrada
String inputFile = "MVPSession1SimpleTimeline.vssx";
// nome do arquivo SVG resultante
String resultant = "Conveted.svg";

try
{   
    // leia o arquivo VSSX de entrada da unidade local
    using (var inputStream = new FileStream("C:\\Users\\Downloads\\" + inputFile, FileMode.Open))
    {
        // crie uma instância de classe Storage
        StorageApi storageApi = new StorageApi("client_credentials", clientID, clientSecret);
        // carregar arquivo de entrada VXXS para armazenamento em nuvem
        storageApi.UploadFile(inputFile, inputStream);
    
        // iniciar o processo de conversão do arquivo
        var response = diagramApi.DownloadFileWithFormat(inputFile, format: "SVG", null);
        if (response != null)
        {
            Console.WriteLine("Successfully converted VSD to SVG !");
        }

        // método personalizado para salvar o arquivo resultante na unidade do sistema local
        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();
}

Os arquivos de entrada VSSX e SVG usados no exemplo acima podem ser baixados de MVPSession1SimpleTimeline.vssx e converted.svg.

Prévia de VSSX para SVG

Imagem 4:- Visualização da conversão de VSSX para SVG.

Converter VSSX para SVG usando o comando cURL

Como nossa Cloud API é baseada na arquitetura REST, ela também pode ser acessada usando comandos cURL. Mas, como mencionado anteriormente, as APIs são acessíveis apenas a pessoas autorizadas, então, com base nos detalhes do Client ID e do Client Secret, precisamos criar um token de acesso JWT. Execute o seguinte comando para geração do token de acesso 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"

Depois de gerar o token de acesso JWT, carregue o arquivo no armazenamento em nuvem usando o seguinte comando 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":{}}

Agora que o arquivo foi carregado no armazenamento em nuvem, execute o seguinte comando para realizar a conversão e salvar a saída no local especificado.

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

Conclusão

Neste artigo, discutimos os recursos do Aspose.Diagram Cloud para a conversão do formato de arquivo VSSX para SVG. Discutimos as etapas para executar a conversão usando o código C# .NET, bem como o comando cURL. Nossos SDKs são desenvolvidos sob licença MIT e seu código-fonte completo pode ser baixado do GitHub. Além disso, caso você encontre algum problema ao usar a API, sinta-se à vontade para entrar em contato via Fórum de suporte gratuito.

Artigos relacionados

Também recomendamos que você visite os seguintes links para saber mais sobre