Rechercher Remplacer Visio Java

Les fichiers Visio peuvent inclure des formes, des connecteurs, des images ou du texte pour représenter différents diagrammes utilisés pour créer des diagrammes tels que des organigrammes, des organigrammes, etc. Dans certains scénarios, vous souhaiterez peut-être rechercher et remplacer du texte au format VSD ou VSDX. Diagramme Visio. Par conséquent, cet article explique comment rechercher et remplacer du texte dans les dessins Visio par programmation en Java.

Rechercher et remplacer du texte dans le diagramme Visio - Installation de l’API Java

Aspose.Diagram for Java L’API prend en charge l’utilisation de différents formats de fichiers Visio, notamment VSD, VSDX, VSDM, VSSX, etc. Vous pouvez télécharger les fichiers JAR à partir de la section Téléchargements ou utiliser les éléments suivants configurations dans le fichier pom.xml de votre projet afin d’accéder à l’API depuis le Aspose Repository :

Repository:

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

Dependency:

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

Rechercher et remplacer du texte dans le diagramme Visio par programmation en Java

Vous pouvez rechercher et remplacer du texte dans un fichier Visio au format VSD VSDX en procédant comme suit :

  1. Créez une collection de chaînes pour rechercher et remplacer du texte.
  2. Chargez le fichier de diagramme Visio source et parcourez le texte de chaque forme.
  3. Écrivez le fichier de diagramme Visio de sortie.

L’exemple de code ci-dessous montre comment rechercher et remplacer du texte dans un fichier Visio par programmation à l’aide de Java :

// Charger le diagramme d'entrée
Diagram diagram = new Diagram("FindReplaceText.vsdx");

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

// Préparer une collection de texte ancien et nouveau
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()));

// Parcourir les formes d'une page
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))
            {
                // Rechercher et remplacer le texte d'une forme
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// Enregistrer le diagramme
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

Conclusion

En conclusion, vous avez compris comment rechercher et remplacer du texte dans les diagrammes Visio. Vous pouvez également improviser l’extrait de code pour qu’il fonctionne avec d’autres surcharges de la méthode replace. Par exemple, remplacer toutes les instances de texte correspondant ou uniquement la première occurrence du terme de recherche dans le fichier Visio. Vous pouvez visiter l’espace documentation pour découvrir plusieurs autres fonctionnalités permettant de manipuler ou de convertir des fichiers MS Visio. Si vous avez besoin de discuter de l’une de vos préoccupations ou exigences, veuillez nous contacter sur le forum.

Voir également

Convertir un fichier Visio VSD ou VSDX en XAML en Java