Znajdź Zamień Visio Java

Pliki programu Visio mogą zawierać kształty, łączniki, obrazy lub tekst przedstawiający różne diagramy używane do tworzenia diagramów, takich jak schematy organizacyjne, schematy blokowe itp. W niektórych scenariuszach może być konieczne znalezienie i zastąpienie tekstu w formacie VSD lub VSDX Schemat Visio. W związku z tym w tym artykule wyjaśniono, jak znaleźć i zamienić tekst w rysunkach programu Visio programowo w Javie.

Wyszukaj i zamień tekst na diagramie programu Visio — instalacja interfejsu Java API

Aspose.Diagram for Java API obsługuje pracę z różnymi formatami plików Visio, w tym VSD, VSDX, VSDM, VSSX itp. Możesz pobrać pliki JAR z sekcji Downloads lub skorzystać z następującego konfiguracje w pliku pom.xml Twojego projektu w celu uzyskania dostępu do API z Aspose Repository:

Magazyn:

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

Zależność:

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

Znajdź i zamień tekst na diagramie programu Visio Programowo w Javie

Możesz znaleźć i zamienić tekst w pliku Visio w formacie VSD VSDX, wykonując poniższe czynności:

  1. Utwórz kolekcję ciągów do wyszukiwania i zastępowania tekstu.
  2. Załaduj źródłowy plik diagramu programu Visio i przejrzyj tekst w każdym kształcie.
  3. Zapisz wyjściowy plik diagramu programu Visio.

Poniższy przykładowy kod pokazuje, jak programowo znaleźć i zamienić tekst w pliku programu Visio przy użyciu języka Java:

// Załaduj diagram wejściowy
Diagram diagram = new Diagram("FindReplaceText.vsdx");

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

// Przygotuj zbiór starych i nowych tekstów
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()));

// Iteruj przez kształty strony
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))
            {
                // Znajdź i zamień tekst kształtu
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// Zapisz schemat
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

Wniosek

Podsumowując, wiesz już, jak znajdować i zastępować tekst na diagramach programu Visio. Możesz również zaimprowizować fragment kodu, aby działał z innymi przeciążeniami metody replace. Na przykład zastąpienie wszystkich wystąpień pasującego tekstu lub tylko pierwszego wystąpienia wyszukiwanego terminu w pliku programu Visio. Możesz odwiedzić dokumentację, aby poznać kilka innych funkcji służących do manipulowania lub konwertowania plików MS Visio. Jeśli chcesz omówić swoje wątpliwości lub wymagania, skontaktuj się z nami na forum.

Zobacz też

Konwertuj plik Visio VSD lub VSDX na XAML w Javie