Visio Java 바꾸기 찾기

Visio 파일에는 조직도, 순서도 등과 같은 다이어그램을 만드는 데 사용되는 다양한 다이어그램을 나타내는 셰이프, 커넥터, 이미지 또는 텍스트가 포함될 수 있습니다. 특정 시나리오에서는 VSD 또는 VSDX 형식의 일부 텍스트를 찾아 바꿀 수 있습니다. 비지오 다이어그램. 따라서 이 문서에서는 Java에서 프로그래밍 방식으로 Visio 드로잉의 텍스트를 찾고 바꾸는 방법을 설명합니다.

Visio 다이어그램에서 텍스트 검색 및 바꾸기 – Java API 설치

Aspose.Diagram for Java API는 VSD, VSDX, VSDM, VSSX 등 다양한 Visio 파일 형식 작업을 지원합니다. 다운로드 섹션에서 JAR 파일을 다운로드하거나 다음을 사용할 수 있습니다. Aspose Repository에서 API에 액세스하기 위해 프로젝트의 pom.xml 파일에서 구성:

저장소:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

의존:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.4</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

Java에서 프로그래밍 방식으로 Visio 다이어그램의 텍스트 찾기 및 바꾸기

아래 단계에 따라 VSD VSDX 형식 Visio 파일에서 텍스트를 찾아 바꿀 수 있습니다.

  1. 텍스트를 검색하고 바꿀 문자열 모음을 만듭니다.
  2. 소스 Visio 다이어그램 파일을 로드하고 각 셰이프의 텍스트를 반복합니다.
  3. 출력 Visio 다이어그램 파일을 작성합니다.

아래 코드 샘플은 Java를 사용하여 프로그래밍 방식으로 Visio 파일에서 텍스트를 찾고 바꾸는 방법을 보여줍니다.

// 입력 다이어그램 로드
Diagram diagram = new Diagram("FindReplaceText.vsdx");

DateFormat dateFormat = new SimpleDateFormat("dd/MMMM/yyyy");
Date myDate = new Date(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();

// 컬렉션 이전 및 새 텍스트 준비
Hashtable<String, String> replacements = new Hashtable<String, String>();
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[EmplyeeName]]", "James Bond");
replacements.put("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");

cal.setTime(myDate);
cal.add(Calendar.YEAR, -1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[TimePeriod]]", dateFormat.format(cal.getTime()) + " -- " + dateFormat.format(myDate));

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, -7);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[SubmissionDate]]", dateFormat.format(cal.getTime()));
replacements.put("[[AmountReq]]", "$100,000");

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[DateApproved]]", dateFormat.format(cal.getTime()));

// 페이지의 모양을 통해 반복
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage("Page-1").getShapes())
{
    Set<String> keys = replacements.keySet();
    for(String key: keys)
    {
        for (FormatTxt txt : (Iterable<FormatTxt>) shape.getText().getValue())
        {
       	    Txt tx = (Txt)((txt instanceof Txt) ? txt : null);
            if (tx != null && tx.getText().contains(key))
            {
                // 도형의 텍스트 찾기 및 바꾸기
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// 다이어그램 저장
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

결론

결론적으로 Visio 다이어그램에서 텍스트를 찾고 바꾸는 방법을 이해했습니다. replace 메서드의 다른 오버로드와 함께 작동하도록 코드 조각을 즉석에서 만들 수도 있습니다. 예를 들어 일치하는 텍스트의 모든 인스턴스를 바꾸거나 Visio 파일에서 검색어의 첫 번째 항목만 바꿉니다. 문서 공간을 방문하여 MS Visio 파일을 조작하거나 변환하는 다른 여러 기능을 배울 수 있습니다. 우려 사항이나 요구 사항에 대해 논의해야 하는 경우 포럼에서 문의하십시오.

또한보십시오

Java에서 Visio VSD 또는 VSDX 파일을 XAML로 변환