C#でVisio図を作成する
Microsoft Visio は、フローチャート、組織図、ネットワーク図、プロセスフロー、正確な形状と接続を必要とするその他の技術的またはビジネスビジュアルを設計するために広く使用されているツールです。多くのチームや自動化シナリオでは、記録が多数生成されなければならず、オンデマンドで作成されたり、レポーティングパイプライン内に埋め込まれたりする場合には、手動で図を描くことは現実的ではありません。プログラムによる図の生成は、開発者がデータソースや C# アプリケーション内のビジネスロジックから直接、一貫性のある再現可能な図を作成できるようにすることで、これ
図の自動生成は、図を信頼性高く繰り返し作成する必要がある多くの実世界の文脈で有用です。たとえば、すべてのデプロイメント環境のためにアーキテクチャ図を生成したり、監視ダッシュボード用のネットワークマップを作成したり、HRデータから標準化された組織図を作成したりすることがあります。プログラムによる生成は、レイアウトルールが一貫して適用され、図形が同じスタイリングガイドラインに従い、出力ファイルが手動の介入なしに生成されることを保証します。以下のセクションでは、合理的な理由、段階的アプローチ、コピー&ペーストできる完全なC#コードスニペ
なぜプログラムでVisioダイアグラムを作成するのか?
- バルクまたはオンデマンドの図面生成を信頼性のある再現性のあるものにし、多くのレコードや実行にわたって図が一貫して生成されるようにすることで、手動での描画時間を節約し、人間のレイアウトのばらつきを排除します。
- 自動化されたワークフロー(レポート、ドキュメントパイプライン、または継続的デリバリーなど)に図生成を統合して、視覚情報が常に基となるデータと一致し、手動での編集を必要としないようにします。
- 企業またはプロジェクトのスタイリングガイドラインをプログラムで強制し、すべての図面で形状、フォント、色が一貫していることを保証し、手動での校正や再作業の必要を減らします。
- 複数の形式で図を作成し、他の文書やシステムに埋め込むことで、クロスプラットフォームでの配布やステークホルダーによるより簡単な消費を可能にします。
- スケール図面の生産を、顧客ごと、サイトごと、または展開ごとに個別の図面を生成するシナリオで、数百または数千のアイテムに拡大し、手動編集が非現実的な場合に対応します。
C#でVisio VSDX図を作成する
- プロジェクトに図面ライブラリを追加して、図面および形状クラスにアクセスできるようにプロジェクトを準備します。
- 新しい図のオブジェクトを初期化して、ページ、マスター、シェイプ、およびスタイルを保持するキャンバスとして機能させます。
- 使用したい形状テンプレートを含むマスターステンシルを追加またはロードします。たとえば、基本的な形状ステンシルからの長方形マスターなどです。
- 各形状を配置するための次元と座標を定義し、位置とサイズが決定的であり、データやレイアウトルールから計算できるようにします。
- 図に形状を追加するには、マスターテンプレートおよび計算された位置とサイズの値を参照し、その後、形状をさらに変更したい場合は返された形状IDを取得します。
- プロパティ(位置、テキスト、スタイル、またはタイプなど)を変更する必要があるときに、シェイプインスタンスを取得し、プログラムで変更を適用します。
- 最終的な図を希望する形式、通常はVisio互換のVSDXとして保存するか、文書に埋め込むための画像または他のサポートされている形式にエクスポートします。
// Create a new instance of a diagram
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram();
// Define the name of the master (template) to be used for creating shapes
string masterName = "Rectangle";
diagram.AddMaster("Basic Shapes.vss", masterName);
// Define the dimensions and position for the new shape
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;
// Add a new rectangle shape to the diagram using the specified master
long rectangleId = diagram.AddShape(pinX, pinY, width, height, masterName, 0);
// Retrieve the shape by its ID for modification
Aspose.Diagram.Shape rectangle = diagram.Pages[0].Shapes.GetShape(rectangleId);
// Set the position of the shape by modifying its PinX and PinY properties
rectangle.XForm.PinX.Value = 5;
rectangle.XForm.PinY.Value = 5;
// Set the type of the shape to indicate it is a standard shape
rectangle.Type = Aspose.Diagram.TypeValue.Shape;
// Add text to the shape
rectangle.Text.Value.Add(new Aspose.Diagram.Txt("Aspose Diagram"));
// Apply a predefined text style to the shape's text
rectangle.TextStyle = diagram.StyleSheets[3];
// Save the modified diagram to a file
diagram.Save("Visio_out.vsdx", Aspose.Diagram.SaveFileFormat.Vsdx);
このスニペットは、新しいダイアグラムインスタンスを作成して結果をVSDXファイルとして保存するまでの完全な流れを示しています。コードは最初にステンシルファイルからマスターシェイプを登録し、次に明示的な座標とサイズを使用して長方形を追加します。シェイプを追加した後、コードはインスタンスを取得してその位置とタイプを微調整し、テキストコンテンツを挿入し、ダイアグラムスタイルシートコレクションから既存のスタイルを適用します。最後に、ダイアグラムはディスクに保存されます。このスニペットを適応して、複数のシェイプを追加し、シェイプ間にコネクタを作成し、複数
結論
C# でプログラムmatically Visio ダイアグラムを作成することは、視覚的文書の自動化、ダイアグラムの美学の標準化、企業の報告または文書システムへのダイアグラムの出力の統合に向けた実用的で強力なアプローチです。 提供された手順と例に従うことで、迅速に開始できます。その後、データソースから直接駆動される複雑なダイアグラム、コネクタ、および多ページ文書を生成するためにアプローチを拡張できます。 自動化されたアーキテクチャダイアグラム、組織図、ネットワークトポロジー、またはプロセスフローが必要な場合、プログラムによるダイ