Visio Java'yı Değiştir'i bulun

Visio dosyaları, kuruluş şemaları, akış şemaları vb. gibi diyagramlar oluşturmak için kullanılan farklı diyagramları tasvir eden şekiller, bağlayıcılar, resimler veya metin içerebilir. Belirli senaryolarda, VSD veya VSDX biçimindeki bazı metinleri bulup değiştirmek isteyebilirsiniz. Vizyon diyagramı. Buna göre, bu makale Visio çizimlerindeki metnin Java’da programlı olarak nasıl bulunacağını ve değiştirileceğini açıklamaktadır.

Visio Diyagramında Metin Arayın ve Değiştirin – Java API Kurulumu

Aspose.Diagram for Java API, VSD, VSDX, VSDM, VSSX vb. dahil olmak üzere farklı Visio dosya biçimleriyle çalışmayı destekler. JAR dosyalarını İndirilenler bölümünden indirebilir veya aşağıdakini kullanabilirsiniz API’ye Aspose Deposu erişmek için projenizin pom.xml dosyasındaki yapılandırmalar:

Depo:

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

Bağımlılık:

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

Visio Diyagramındaki Metni Java’da Programlı Olarak Bul ve Değiştir

Aşağıdaki adımlarla bir VSD VSDX biçimindeki Visio dosyasındaki metni bulabilir ve değiştirebilirsiniz:

  1. Metni aramak ve değiştirmek için dizelerden oluşan bir koleksiyon oluşturun.
  2. Kaynak Visio diyagram dosyasını yükleyin ve her şekildeki metinde döngü yapın.
  3. Çıktı Visio diyagramı dosyasını yazın.

Aşağıdaki kod örneği, Java kullanılarak programlı olarak bir Visio dosyasındaki metnin nasıl bulunacağını ve değiştirileceğini gösterir:

// Giriş şemasını yükleyin
Diagram diagram = new Diagram("FindReplaceText.vsdx");

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

// Eski ve yeni bir metin koleksiyonu hazırlayın
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()));

// Bir sayfanın şekillerini yineleyin
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))
            {
                // Şeklin metnini bulma ve değiştirme
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// Diyagramı kaydet
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

Çözüm

Sonuç olarak, Visio diyagramlarında metni nasıl bulacağınızı ve değiştireceğinizi anladınız. Ayrıca, replace yönteminin diğer aşırı yüklemeleriyle çalışmak için kod parçacığını doğaçlama yapabilirsiniz. Örneğin, eşleşen metnin tüm örneklerini veya arama teriminin Visio dosyasında yalnızca ilk geçtiği yeri değiştirmek. MS Visio dosyalarını işlemeye veya dönüştürmeye yönelik diğer bazı özellikleri öğrenmek için dokümantasyon alanını ziyaret edebilirsiniz. Endişelerinizi veya gereksinimlerinizi tartışmanız gerekirse, lütfen forumdan bize ulaşın.

Ayrıca bakınız

Visio VSD veya VSDX Dosyasını Java’da XAML’ye Dönüştürün