Знайдіть Замінити Visio Java

Файли Visio можуть містити фігури, з’єднувачі, зображення або текст для зображення різних діаграм, які використовуються для створення діаграм, як-от організаційних діаграм, блок-схем тощо. У певних сценаріях вам може знадобитися знайти та замінити текст у форматі VSD або VSDX Діаграма Visio. Відповідно, у цій статті пояснюється, як програмно знайти та замінити текст у малюнках Visio у Java.

Пошук і заміна тексту на діаграмі Visio – встановлення Java API

API Aspose.Diagram for Java підтримує роботу з різними форматами файлів Visio, включаючи VSD, VSDX, VSDM, VSSX тощо. Ви можете завантажити файли JAR із розділу Завантаження або скористатися наступним конфігурації у файлі pom.xml вашого проекту, щоб отримати доступ до API із Aspose Repository:

Репозиторій:

 <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>

Програмний пошук і заміна тексту на схемі Visio у Java

Ви можете знайти та замінити текст у файлі Visio у форматі VSD VSDX, виконавши наведені нижче дії.

  1. Створіть колекцію рядків для пошуку та заміни тексту.
  2. Завантажте вихідний файл діаграми Visio і перегляньте текст у кожній фігурі.
  3. Запишіть вихідний файл діаграми Visio.

Зразок коду нижче показує, як знайти та замінити текст у файлі Visio програмним шляхом за допомогою Java:

// Завантажте вхідну діаграму
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. Якщо вам потрібно обговорити будь-які ваші проблеми чи вимоги, зв’яжіться з нами на форумі.

Дивись також

Перетворіть файл Visio VSD або VSDX на XAML у Java