C#에서 Visio 다이어그램 만들기

Microsoft Visio는 흐름도, 조직도, 네트워크 다이어그램, 프로세스 흐름 및 정확한 모양과 연결이 필요한 기타 기술 또는 비즈니스 비주얼을 디자인하는 데 널리 사용되는 도구입니다. 많은 팀과 자동화 시나리오에서 많은 레코드를 위해 다이어그램을 생성해야 하거나, 필요에 따라 생성되거나, 보고 파이프라인 내부에 포함되어야 할 때, 수동으로 다이어그램을 그리는 것은 실용적이지 않습니다. 프로그래밍 방식의 다이어그램 생성을 통해 개발자는 C# 애플리케이션 내에서 데이터 소스 또는 비즈니스 로직에서 직접 일관되고 반복 가능한 다이어그램을 생성할 수 있습니다. 이 기사에 표시된 예제는 C#에서 Visio 다이어그램을 프로그래밍 방식으로 생성하고, 마스터 스텐실에서 사각형 모양을 추가하고

다이어그램 생성을 자동화하는 것은 다이어그램이 신뢰할 수 있게 반복적으로 생성되어야 하는 많은 실제 맥락에서 유용합니다. 예를 들어, 모든 배포 환경에 대한 아키텍처 다이어그램을 생성하거나, 모니터링 대시보드를 위한 네트워크 맵을 만들거나, 인사 데이터에서 표준화된 조직 차트를 구축할 수 있습니다. 프로그래밍 방식의 생성은 레이아웃 규칙이 일관되게 적용되고, 도형이 동일한 스타일 가이드라인을 따르며, 출력 파일이 수동 개입 없이 생성되도록 보장합니다. 다음 섹션에서는 합리적 근거, 단계별 접근 방식, 복사하여 붙여넣을 수 있는 완전한 C# 코드 스니펫, 그리고 다이어그램 생성을 애플리케이션에 통합할 때 흔히 발생하는 문제와 다음 단계

왜 Visio 다이어그램을 프로그래밍 방식으로 생성해야 할까요?

  • 대량 또는 주문형 다이어그램 생성을 신뢰할 수 있고 반복 가능하게 만들어 다이어그램이 여러 기록 또는 실행에서 일관되게 생성되도록 하여 수작업 도면 작성을 절약하고 인간 레이아웃 변동성을 제거합니다.
  • 자동화된 작업 흐름에 다이어그램 생성 기능을 통합하여 보고서, 문서 파이프라인 또는 지속적 배포와 같은 작업에서 시각 자료가 항상 기본 데이터와 최신 상태를 유지하도록 하여 수동 편집이 필요하지 않도록 합니다.
  • 기업 또는 프로젝트 스타일 가이드라인을 프로그래밍 방식으로 시행하여 모든 다이어그램에서 도형, 글꼴 및 색상이 일관되도록 하고 수동 교정 및 재작업의 필요성을 줄입니다.
  • 다양한 형식으로 다이어그램을 생성하고 이를 다른 문서나 시스템에 내장하여 플랫폼 간 배포 및 이해 관계자가 더 쉽게 소비할 수 있도록 합니다.
  • 스케일 다이어그램 생산을 고객, 사이트 또는 배치별로 개별 다이어그램을 생성하는 시나리오에서 수백 또는 수천 개 항목으로 확장합니다. 여기서 수동 편집은 실현 불가능할 것입니다.

C#에서 Visio VSDX 다이어그램 만들기

  1. 프로젝트를 준비하려면 다이어그램 라이브러리를 프로젝트 참조에 추가하여 다이어그램 및 도형 클래스를 사용할 수 있도록 하세요.
  2. 새로운 다이어그램 객체를 초기화하여 페이지, 마스터, 모양 및 스타일을 보유할 수 있는 캔버스로 사용합니다.
  3. 사용하려는 도형 템플릿이 포함된 마스터 스텐실을 추가하거나 로드합니다. 예를 들어 기본 도형 스텐실에서 직사각형 마스터를 사용할 수 있습니다.
  4. 모든 모양을 배치하기 위해 원하는 치수와 좌표를 정의하여 위치와 크기가 결정 가능하고 데이터 또는 레이아웃 규칙에서 계산될 수 있도록 합니다.
  5. 다이어그램에 마스터 템플릿과 계산된 위치 및 크기 값을 참조하여 도형을 추가한 다음, 도형을 더 수정하려면 반환된 도형 ID를 캡처하십시오.
  6. 속성(위치, 텍스트, 스타일 또는 유형 등)을 변경해야 할 때 도형 인스턴스를 가져오고 프로그래매틱하게 변경 사항을 적용하세요.
  7. 최종 다이어그램을 원하는 형식으로 저장하십시오. 일반적으로 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#에서 Visio 다이어그램을 프로그래밍적으로 생성하는 것은 시각적 문서화를 자동화하고, 다이어그램 미학을 표준화하며, 다이어그램 출력을 기업 보고서 또는 문서 시스템에 통합하는 실용적이고 강력한 접근 방식입니다. 제공된 단계와 예제를 따르면 빠르게 시작할 수 있으며, 그런 다음 데이터 소스에서 직접 구동되는 복잡한 다이어그램, 연결선 및 다중 페이지 문서를 생성하기 위해 접근 방식을 확장할 수 있습니다. 자동화된 아키텍처 다이어그램, 조직도, 네트워크 토폴로지 또는 프로세스 흐름이 필요할 때, 프로그래밍 방식의 다이어그램 생성은 프로세스를 더 빠르고 일관되게 만들며 오류를 줄여 디자이너와 엔지니어가 반복적인 그리기 작업보다 높은 수준의 결정에 집중할 수 있도록 해

See Also