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#
- Prepare your project by adding the diagram library to the project references so you have access to diagram and shape classes.
- Zainicjuj nowy obiekt diagramu, który służy jako płótno do przechowywania stron, mistrzów, kształtów i stylów.
- 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.
- 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.
- 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.
- Pobierz instancję kształtu, gdy musisz zmienić jej właściwości, takie jak lokalizacja, tekst, styl lub typ, i zastosuj zmiany programowo.
- 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