MS Visio은 순서도, 데이터 흐름 다이어그램, 비즈니스 프로세스 모델 등과 같은 광범위한 다이어그램을 생성할 수 있는 인기 있는 응용 프로그램입니다. VSDX는 MS Visio가 저장하는 데 사용하는 파일 형식입니다. 도표. VSDX 조작을 자동화하기 위해 이 문서에서는 C#에서 처음부터 Visio 다이어그램을 만드는 방법에 대한 기본 자습서를 제공합니다. 또한 .NET 응용 프로그램 내에서 VSDX 다이어그램에 페이지, 모양 및 텍스트를 삽입하는 방법을 다룹니다.

C# Visio API - 무료 다운로드

Aspose.Diagram for .NET은 .NET 애플리케이션 내에서 MS Visio 다이어그램을 생성, 편집, 변환 및 처리할 수 있는 기능이 풍부한 API입니다. API를 사용하면 사용하기 쉬운 속성과 메서드로 VSDX 다이어그램을 더 쉽게 조작할 수 있습니다. API의 DLL을 다운로드하거나 NuGet을 사용하여 .NET 애플리케이션 내에 설치할 수 있습니다.

Install-Package Aspose.Diagram

C#을 사용하여 Visio VSDX 다이어그램 만들기

우선, 빈 VSDX 다이어그램을 처음부터 만들어 보겠습니다. 이를 수행하는 단계는 다음과 같습니다.

다음 코드 샘플은 C#에서 Visio VSDX 다이어그램을 만드는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 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 다이어그램은 하나 이상의 페이지로 구성되며 각 페이지에는 다이어그램이 포함됩니다. 따라서 도형을 추가하기 전에 다음 단계에 따라 페이지를 추가해야 합니다.

  • Diagram 클래스를 사용하여 새 다이어그램을 만들거나 기존 다이어그램을 로드합니다.
  • Diagram.Pages.Count 속성을 사용하여 다이어그램에 이미 페이지가 포함되어 있는지 확인합니다.
  • 그렇다면 Diagram.Pages[index].ID 속성을 사용하여 마지막 페이지의 ID를 가져옵니다.
  • Page 클래스를 사용하여 새 페이지를 만들고 이름과 ID를 설정합니다.
  • Diagram.Pages.Add(Page) 메서드를 사용하여 다이어그램에 페이지를 추가합니다.
  • Diagram.Save(Sring fileName, SaveFileFormat.VSDX) 메서드를 사용하여 VSDX 다이어그램을 저장합니다.

다음 코드 샘플은 C#을 사용하여 Visio VSDX 다이어그램에 페이지를 추가하는 방법을 보여줍니다.

// 전체 예제 및 데이터 파일을 보려면 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;

// 또는 페이지 생성자를 사용해보십시오.
// 페이지 newPage = 새 페이지(MaxPageId + 1);

// 새 빈 페이지 추가
diagram.Pages.Add(newPage);

// 다이어그램 저장
diagram.Save(dataDir + "InsertBlankPage_out.vsdx", SaveFileFormat.VSDX);

자세한 내용은 페이지 작업을 참조하십시오.

C#을 사용하여 Visio 다이어그램에서 셰이프 만들기

셰이프는 Visio 다이어그램의 구성 요소입니다. MS Visio는 다양한 영역에서 다이어그램을 생성할 수 있도록 다양한 셰이프를 지원합니다. 다음 단계에서는 Visio Diagram에 셰이프를 삽입하는 방법을 보여줍니다.

다음 코드 샘플은 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);

자세한 내용은 텍스트 작업을 참조하세요.

결론

이 게시물에서는 처음부터 Visio VSDX 다이어그램을 만들기 위한 Aspose.Diagram for .NET의 몇 가지 기본 기능을 배웠습니다. 코드 샘플은 C#을 사용하여 VSDX 다이어그램에 마스터, 페이지, 셰이프 및 텍스트를 추가하는 방법을 보여주었습니다. 문서를 사용하여 API에 대해 자세히 알아볼 수 있습니다.

또한보십시오