Visio 파일은 조직도, 순서도 등과 같은 다이어그램을 만드는 데 사용됩니다. 이러한 다이어그램은 텍스트 정보도 포함할 수 있는 다양한 모양으로 구성됩니다. 일부 사용 사례에서는 Visio 다이어그램의 모든 모양에서 텍스트를 업데이트해야 할 수 있습니다. 이러한 요구 사항에 따라 이 문서에서는 C#에서 프로그래밍 방식으로 Visio 드로잉의 텍스트를 찾고 바꾸는 방법을 다룹니다.
Visio 다이어그램에서 텍스트 검색 및 바꾸기 – C# API 설치
Aspose.Diagram for .NET API는 Visio 파일 생성, 편집 및 조작을 지원합니다. New Releases 섹션에서 DLL 파일을 다운로드하여 API를 쉽게 구성할 수 있습니다. 또는 Microsoft Visual Studio에서 아래 설치 명령을 사용하여 NuGet 갤러리에서 API를 설치할 수 있습니다.
PM> Install-Package Aspose.Diagram
C#에서 프로그래밍 방식으로 Visio 다이어그램의 텍스트 찾기 및 바꾸기
Visio 파일은 다이어그램에 여러 셰이프를 포함할 수 있습니다. 아래 단계에 따라 텍스트를 찾고 바꿀 수 있습니다.
- 이전 및 새 텍스트 문자열 모음을 준비합니다.
- 입력 다이어그램을 로드하고 각 모양을 반복합니다.
- 출력 Visio 다이어그램을 저장합니다.
다음 코드 조각은 C#을 사용하여 프로그래밍 방식으로 VSD 또는 VSDX 형식 Visio 파일의 텍스트를 찾고 바꾸는 방법을 보여줍니다.
// 컬렉션 이전 및 새 텍스트 준비
Dictionary<string, string> replacements = new Dictionary<string, string>();
replacements.Add("[[CompanyName]]", "Research Society of XYZ");
replacements.Add("[[EmployeeName]]", "James Bond");
replacements.Add("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");
replacements.Add("[[TimePeriod]]", DateTime.Now.AddYears(-1).ToString("dd/MMMM/yyyy") + " -- " + DateTime.Now.ToString("dd/MMMM/yyyy"));
replacements.Add("[[SubmissionDate]]", DateTime.Now.AddDays(-7).ToString("dd/MMMM/yyyy"));
replacements.Add("[[AmountReq]]", "$100,000");
replacements.Add("[[DateApproved]]", DateTime.Now.AddDays(1).ToString("dd/MMMM/yyyy"));
// 로드 다이어그램
Diagram diagram = new Diagram("FindReplaceText.vsdx");
// 이름으로 페이지 가져오기
Page page = diagram.Pages.GetPage("Page-1");
// 페이지의 모양을 통해 반복
foreach (Shape shape in page.Shapes)
{
foreach (KeyValuePair<string, string> kvp in replacements)
{
foreach (FormatTxt txt in shape.Text.Value)
{
Txt tx = txt as Txt;
if (tx != null && tx.Text.Contains(kvp.Key))
{
// 도형의 텍스트 찾기 및 바꾸기
tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
}
}
}
}
// 다이어그램 저장
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);
결론
결론적으로 Visio 다이어그램에서 텍스트를 찾고 바꾸는 방법을 배웠습니다. 또한 텍스트를 바꾸기 위해 샘플 코드를 다른 오버로드로 업데이트할 수 있습니다. 예를 들어 요구 사항에 따라 일치하는 텍스트의 첫 번째 항목만 바꾸거나 모든 항목을 바꿉니다. 문서를 방문하여 API의 다른 여러 기능을 배울 수 있습니다. 또한 문의 사항이 있는 경우 포럼에 문의해 주십시오.