MS Visioは、フローチャート、データフロー図、ビジネスプロセスモデルなどのさまざまな図を作成できる人気のあるアプリケーションです。VSDXは、MSVisioが保存に使用するファイル形式です。ダイアグラム。 VSDX操作を自動化するために、この記事では、C#でVisioダイアグラムを最初から作成する方法の基本的なチュートリアルを提供します。さらに、.NETアプリケーション内からVSDXダイアグラムにページ、図形、およびテキストを挿入する方法についても説明します。

C#VisioAPI-無料ダウンロード

Aspose.Diagram for .NETは、.NETアプリケーション内からMS Visioダイアグラムを作成、編集、変換、および処理できる機能豊富なAPIです。 APIを使用すると、使いやすいプロパティとメソッドを使用してVSDXダイアグラムを簡単に操作できます。 ダウンロードAPIのDLLを使用するか、NuGetを使用して.NETアプリケーション内にインストールすることができます。

Install-Package Aspose.Diagram

C#を使用してVisioVSDX図を作成する

まず、空のVSDX図を最初から作成しましょう。これを行う手順は次のとおりです。

次のコードサンプルは、C#でVisioVSDX図を作成する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-diagram/Aspose.Diagram-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_Diagrams();

// ディレクトリがまだ存在しない場合は作成します。
bool IsExists = System.IO.Directory.Exists(dataDir);
if (!IsExists)
    System.IO.Directory.CreateDirectory(dataDir);
// 新しいVisioを初期化します
Diagram diagram = new Diagram();
dataDir = dataDir + "CreateDiagram_out.vsdx";
// VSDX形式で保存
diagram.Save(dataDir, SaveFileFormat.VSDX);

C#でVisioダイアグラムにマスターを追加する

マスターは、ダイアグラムで使用される形状のコレクションを含むステンシルを追加するために使用されます。マスターを追加する場合は、VSSステンシルファイルとマスターIDが必要です。以下は、Aspose.Diagramを使用してVisioダイアグラムにマスターを追加する手順です。

次のコードサンプルは、C#を使用してVisioダイアグラムにマスターを追加する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-diagram/Aspose.Diagram-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_Master();

// 荷重図
Diagram diagram = new Diagram();

// ステンシルをストリームにロードする
string templateFileName = dataDir + "NetApp-FAS-series.vss";
Stream stream = new FileStream(templateFileName, FileMode.Open);

// ステンシルファイルパスとマスターIDを使用してマスターを追加します
string masterName = "FAS80xx rear empty";
diagram.AddMaster(templateFileName, 2);

// ステンシルファイルパスとマスター名でマスターを追加します
diagram.AddMaster(templateFileName, masterName);

// ステンシルファイルストリームとマスターIDを使用してマスターを追加します
diagram.AddMaster(stream, 2);

// ソースダイアグラムからダイアグラムにマスターを追加します
Diagram src = new Diagram(templateFileName);
diagram.AddMaster(src, masterName);

// ステンシルファイルストリームとマスターIDを使用してマスターを追加します
diagram.AddMaster(stream, masterName);

// 定義されたPinXとPinYで形状を追加します。
diagram.AddShape(2.0, 2.0, masterName, 0);
diagram.AddShape(6.0, 6.0, masterName, 0);

// 定義されたPinX、PinY、Width、Heightで形状を追加します。
diagram.AddShape(7.0, 3.0, 1.5, 1.5, masterName, 0);

詳細については、マスターとの連携をご覧ください。

C#のVisioダイアグラムにページを挿入する

MS Visioの図は1つ以上のページで構成され、各ページには図が含まれています。したがって、図形を追加する前に、次の手順を使用してページを追加する必要があります。

  • Diagramクラスを使用して、新しい図を作成するか、既存の図をロードします。
  • Diagram.Pages.Countプロパティを使用して、ダイアグラムにすでにページが含まれているかどうかを確認してください。
  • 含まれている場合は、Diagram.Pages [index]。IDプロパティを使用して最後のページのIDを取得します。
  • Pageクラスを使用して新しいページを作成し、その名前とIDを設定します。
  • Diagram.Pages.Add(Page)メソッドを使用して、図にページを追加します。
  • Diagram.Save(Sring fileName、SaveFileFormat.VSDX)メソッドを使用してVSDX図を保存します。

次のコードサンプルは、C#を使用してVisioVSDX図にページを追加する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-diagram/Aspose.Diagram-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_VisioPages();

// 荷重図
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");

// 最大ページIDを計算します
int max = 0;
if (diagram.Pages.Count != 0)
    max = diagram.Pages[0].ID;

for (int i = 1; i < diagram.Pages.Count; i++)
{
    if (max < diagram.Pages[i].ID)
        max = diagram.Pages[i].ID;
}

// 最大ページIDを設定する
int MaxPageId = max;

// 新しいページオブジェクトを初期化します
Page newPage = new Page();
// セット名
newPage.Name = "new page";
// ページIDを設定する
newPage.ID = MaxPageId + 1;

// または、Pageコンストラクターを試してください
// ページnewPage=new Page(MaxPageId + 1);

// 新しい空白のページを追加します
diagram.Pages.Add(newPage);

// 図を保存
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

詳細については、ページの操作をご覧ください。

C#を使用してVisioダイアグラムで図形を作成する

図形は、Visioダイアグラムの構成要素です。 MS Visioは、さまざまなドメインで図を作成するためのさまざまな形状をサポートしています。次の手順は、Visioダイアグラムに図形を挿入する方法を示しています。

次のコードサンプルは、C#を使用してVisioダイアグラムに図形を追加する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-diagram/Aspose.Diagram-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_Shapes();

// ダイアグラムをロードする
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx");
// 名前でページを取得
Page page = diagram.Pages.GetPage("Page-2");

// ステンシルファイルパスとマスター名でマスターを追加します
string masterName = "Rectangle";
diagram.AddMaster(dataDir + "Basic Shapes.vss", masterName);
            
// ページのインデックス作成は0から始まります
int PageIndex = 1;
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// 新しい長方形を追加します
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, PageIndex);
            
// 形状プロパティを設定する 
Shape rectangle = page.Shapes.GetShape(rectangleId);
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
rectangle.Type = TypeValue.Shape;
rectangle.Text.Value.Add(new Txt("Aspose Diagram"));
rectangle.TextStyle = diagram.StyleSheets[3];
rectangle.Line.LineColor.Value = "#ff0000";
rectangle.Line.LineWeight.Value = 0.03;
rectangle.Line.Rounding.Value = 0.1;
rectangle.Fill.FillBkgnd.Value = "#ff00ff";
rectangle.Fill.FillForegnd.Value = "#ebf8df";

diagram.Save(dataDir + "AddShape_out.vsdx", SaveFileFormat.VSDX);
Console.WriteLine("Shape has been added.");

詳細については、図形の操作をご覧ください。

C#のVisioページにテキスト図形を追加する

場合によっては、Visioの図にテキストを追加する必要もあります。このためには、以下の手順に従うことができます。

次のコードサンプルは、C#を使用してVSDXダイアグラムにテキストを追加する方法を示しています。

// 完全な例とデータファイルについては、https://github.com/aspose-diagram/Aspose.Diagram-for-.NETにアクセスしてください。
// ドキュメントディレクトリへのパス。
string dataDir = RunExamples.GetDataDir_ShapeText();

// 新しい図を作成する
Diagram diagram = new Diagram();
// パラメータを設定し、Visioページにテキストを追加します
double PinX = 1, PinY = 1, Width = 1, Height = 1;                  
diagram.Pages[0].AddText(PinX, PinY, Width, Height, "Test text");
// 図を保存 
diagram.Save(dataDir + "InsertTextShape_out.vsdx", SaveFileFormat.VSDX);

詳細については、テキストの操作をご覧ください。

結論

この投稿では、VisioVSDX図を最初から作成するためのAspose.Diagramfor.NETのいくつかの基本的な機能について学習しました。コードサンプルは、C#を使用してVSDXダイアグラムにマスター、ページ、シェイプ、およびテキストを追加する方法を示しています。 ドキュメントを使用して、APIの詳細を調べることができます。

関連項目