Tworzenie diagramu Visio w C#

Microsoft Visio jest szeroko stosowanym narzędziem do projektowania diagramów blokowych, diagramów organizacyjnych, diagramów sieci, przepływów procesów i innych rodzajów wizualizacji technicznych lub biznesowych, które wymagają precyzyjnych kształtów i połączeń. Dla wielu zespołów i scenariuszy automatyzacji, ręczne rysowanie diagramów nie jest praktyczne, gdy diagramy muszą być generowane dla wielu rekordów, tworzone na żądanie lub wbudowane w pipeline’y raportowe. Programowe generowanie diagramów rozwiązuje te problemy, pozwalając programistom na produkcję spójnych, powtarzalnych diagramów bezpośrednio z źródeł danych lub logiki biznesowej w aplikacji C#. Przykład pokazany w tym artykule demonstruje, jak stworzyć diagram Visio program

Automatyzacja tworzenia diagramów jest przydatna w wielu rzeczywistych kontekstach, gdzie diagramy muszą być tworzone niezawodnie i wielokrotnie. Na przykład, możesz generować diagramy architektury dla każdego środowiska wdrożeniowego, tworzyć mapy sieciowe dla pulpitów monitorujących lub budować ustandaryzowane wykresy organizacyjne z danych HR. Programatyczne generowanie gwarantuje, że zasady układu są stosowane konsekwentnie, że kształty przestrzegają tych samych wytycznych dotyczących stylu i że pliki wyjściowe są produkowane bez interwencji ręcznej. Następujące sekcje przechodzą przez uzasadnienie, krok po kroku podejście, kompletny fragment kodu C#, który możesz skopiować i wkleić, oraz szczegółowe FAQ, aby omówi

Dlaczego warto tworzyć diagramy Visio programowo?

  • Uczyń generowanie diagramów hurtowych lub na żądanie niezawodnym i powtarzalnym, aby diagramy były produkowane konsekwentnie w wielu rekordach lub uruchomieniach, oszczędzając czas ręcznego rysowania i eliminując wariancję układu ludzkiego.
  • Zintegruj generowanie diagramów zautomatyzowanych procesów roboczych, takich jak raportowanie, pipeline’y dokumentacji lub ciągłe dostarczanie, aby wizualizacje były zawsze aktualne z danymi podstawowymi bez jakiejkolwiek ręcznej edycji.
  • Wymuś programowo wytyczne dotyczące stylizacji korporacyjnej lub projektowej, aby zapewnić spójność kształtów, czcionek i kolorów we wszystkich diagramach oraz zredukować potrzebę ręcznego sprawdzania i przerabiania.
  • Produkuj diagramy w wielu formatach i osadzaj je w innych dokumentach lub systemach, umożliwiając dystrybucję między platformami i łatwiejsze ich konsumowanie przez interesariuszy.
  • Skalowanie produkcji diagramów do setek lub tysięcy przedmiotów w scenariuszach takich jak generowanie indywidualnych diagramów dla każdego klienta, dla każdej lokalizacji lub dla każdego wdrożenia, gdzie ręczna edycja byłaby niewykonalna.

Utwórz diagram Visio VSDX w C#

  1. Prepare your project by adding the diagram library to the project references so you have access to diagram and shape classes.
  2. Zainicjuj nowy obiekt diagramu, który służy jako płótno do przechowywania stron, mistrzów, kształtów i stylów.
  3. Dodaj lub załaduj szablon główny, który zawiera szablony kształtów, których chcesz użyć, na przykład szablon prostokąta z szablonu podstawowych kształtów.
  4. Zdefiniuj wymiary i współrzędne dla każdego kształtu, który chcesz umieścić, aby pozycje i rozmiary były deterministyczne i mogły być obliczane na podstawie danych lub zasad układu.
  5. Dodaj kształty do diagramu, odwołując się do szablonu głównego oraz obliczonych wartości pozycji i rozmiaru, a następnie zapisz zwrócone ID kształtu, jeśli chcesz dalej modyfikować kształt.
  6. Pobierz instancję kształtu, gdy musisz zmienić jej właściwości, takie jak lokalizacja, tekst, styl lub typ, i zastosuj zmiany programowo.
  7. Zapisz ostateczny diagram w pożądanym formacie, typowo VSDX dla zgodności z Visio, lub eksportuj do obrazów lub innych obsługiwanych formatów do osadzenia w dokumentach.
// 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);

Ten fragment demonstruje kompletny proces od utworzenia nowej instancji diagramu do zapisania wyniku jako plik VSDX. Kod najpierw rejestruje główny kształt z pliku szablonu, a następnie dodaje prostokąt, używając wyraźnych współrzędnych i rozmiarów. Po dodaniu kształtu kod pobiera instancję, aby precyzyjnie dostosować jej pozycję i typ, wstawić tekst oraz zastosować istniejący styl z kolekcji arkuszy stylów diagramu. Na koniec diagram zostaje zapisany na dysku. Możesz dostosować ten fragment, aby dodać wiele kształtów, stworzyć połączenia między kształtami, generować wiele stron lub zastosować dynamiczne style w oparciu o dane.

Wnioski

Tworzenie diagramów Visio programowo w C# to praktyczne i potężne podejście do automatyzacji dokumentacji wizualnej, standaryzacji estetyki diagramów oraz integrowania wyników diagramów z systemami raportowania lub dokumentacji w przedsiębiorstwie. Postępując zgodnie z krokami i przykładem podanym, możesz szybko rozpocząć, a następnie rozszerzyć podejście, aby generować złożone diagramy, łączniki i dokumenty wielostronicowe bezpośrednio z źródeł danych. Niezależnie od tego, czy potrzebujesz zautomatyzowanych diagramów architektury, wykresów organizacyjnych, topologii sieci czy przepływów procesów, programowe generowanie diagramów sprawia, że proces jest szybszy, bardziej spójny i mniej podatny na błędy, uwalniając projektant

Zobacz także