VSSX から SVG

Microsoft Visioは、組織図、データベースモデル、ビジネスフローチャート図などの複雑なワークフローを整理、視覚化、伝達するために、ビジネス環境でよく使用されます。Microsoftは、Visio 2013をリリースしたときにVSSX形式を導入しました。VSSXは、バイナリベースのVSS形式に代わるZipベースの形式で、Visio 2013以降で使用できます。したがって、VSSXファイルを開いて編集し、保存するには、Microsoft Visioを使用します。ただし、これはWindowsプラットフォームでのみ使用でき、MicrosoftにはmacOSまたはLinuxプラットフォーム用のVisioのデスクトップバージョンがありません。そのため、移植性の観点から、VSSXファイルを、スケーラビリティ、SEOフレンドリー、編集機能、どのプラットフォームでも解像度に依存しないなどの利点があるSVG形式に変換することを検討する場合があります。さらに、SVGは柔軟性があり、W3C標準であり、軽量、印刷可能、インデックス作成可能、簡単に圧縮できます。

この記事では、以下のトピックについて詳しく説明します。

Visio ファイル処理 API

Aspose.Diagram Cloud は、Visio ダイアグラムを作成、編集、他の一般的な形式にレンダリングする機能を提供する REST API です。また、Aspose.Diagram Cloud に基づくアプリケーションは、Microsoft Visio ダイアグラム/フロー チャートを処理するためにサードパーティ ソフトウェアを必要とせず、独自のエンジンに依存します。したがって、この使いやすいソリューションの助けを借りて、より少ないコード行で Visio ファイルに対して複雑な操作を実行できます。この設計により、ビジネス要件に集中しやすくなり、内部実装の複雑さを忘れることができます。

お客様の利便性をさらに高めるために、プログラミング言語固有の SDK を作成しました。これにより、お気に入りの IDE 内で Visio ファイル処理を活用できるようになります。.NET アプリケーションで Visio ファイルを SVG 形式に変換するには、Aspose.Diagram Cloud SDK for .NET をご利用ください。

インストール

Cloud SDK を使用する最初のステップはインストールです。NuGet または GitHub からダウンロードできます。ターミナルで次のコマンドを実行して、NuGet 経由で SDK をインストールしてください。

nuget install Aspose.Diagram-Cloud

または、NuGet パッケージ マネージャーで次のコマンドを実行します。

 PM> Install-Package Aspose.Diagram-Cloud
NuGet パッケージ マネージャー

画像 1: NuGet パッケージ マネージャーを使用したパッケージのインストール。

Visual Studio のインストール

Cloud SDK は Visual Studio ソリューション内に直接追加することもできます。

  1. ソリューション エクスプローラーを開きます。
  2. プロジェクトを展開し、ソリューション内のパッケージ フォルダーを右クリックします。
  3. NuGetパッケージの管理オプションを選択します
  4. [参照] タブをクリックし、「Aspose.Diagram-Cloud」を検索します。
  5. Aspose.Diagram-Cloud パッケージをクリックし、右側のタブで適切なバージョンを選択して、「パッケージの追加」ボタンをクリックします。
Aspose.Diagram-Cloud パッケージ

画像 2: Visual Studio 2022 の Aspose.Diagram-Cloud。

クラウドサブスクリプション

インストール後、次のステップは Aspose.Cloud ダッシュボード にアクセスして無料サブスクリプション アカウントを作成することです。サブスクリプション中は、クレジットカードやその他の支払い情報は必要ありません。さらに、無料サブスクリプション アカウントでは、最大 150 件の無料ドキュメント処理リクエストを実行できます。

GitHub または Google アカウントを使用してサインアップするか、新しいアカウントの作成 ボタンをクリックして必要な情報を入力します。資格情報を使用してダッシュボードにログインし、ダッシュボードからアプリケーション セクションを展開して、クライアント資格情報セクションまで下にスクロールして、クライアント ID とクライアント シークレットの詳細を確認します。

クライアントの資格情報

画像 3: Aspose.Cloud ダッシュボードのクライアント資格情報。

C# で VSSX を SVG に変換する

変換プロセスは高速でありながら信頼性が高く、結果のファイル形式に関係なく忠実度の高い結果を提供します。

  • 最初のステップは、ClientIDとClientSecretの詳細を引数として渡しながらDiagramApiクラスのインスタンスを作成することです。
  • 次に、入力VSSXコンテンツをFileStreamインスタンスに読み込みます。
  • 3番目に、同じClientIDとClient Secretの詳細を引数として渡してStorageApiクラスのオブジェクトを作成します。
  • 次のステップは、StorageApiのUploadFile(…)メソッドを使用してVSSXファイルをクラウドストレージにアップロードすることです。
  • 次に、DiagramApiのDownloadFileWithFormat(..)メソッドを呼び出して、ファイル変換操作を開始します。
  • 最後に、File.Createオブジェクトを使用して結果のファイルをローカルドライブに保存します。
// https://dashboard.aspose.cloud/ から ClientID を取得します。
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))
    {
        // ストレージクラスのインスタンスを作成する
        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 への変換のプレビュー。

cURL コマンドを使用して VSSX を SVG に変換する

当社のクラウド API は REST アーキテクチャに基づいているため、cURL コマンドを使用してアクセスすることもできます。ただし、前述のように、API には承認されたユーザーのみがアクセスできるため、クライアント ID とクライアント シークレットの詳細に基づいて、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

結論

この記事では、VSSX ファイル形式を SVG に変換する Aspose.Diagram Cloud の機能について説明しました。C# .NET コードと cURL コマンドを使用して変換を実行する手順についても説明しました。当社の SDK は MIT ライセンスの下で開発されており、完全なソース コードは GitHub からダウンロードできます。また、API の使用中に問題が発生した場合は、無料サポート フォーラム からお気軽にお問い合わせください。

関連記事

さらに詳しく知りたい場合は、以下のリンクもご覧ください。