Rechercher et remplacer dans Visio à l'aide de Python

Nous utilisons des fichiers Visio pour dessiner des diagrammes comme des organigrammes ou des organigrammes. Ces diagrammes sont constitués de formes contenant du texte. Dans certains cas, nous devrons peut-être apporter des modifications au texte d’un diagramme Visio par programmation. Dans cet article, nous verrons comment utiliser Python pour rechercher et remplacer du texte dans les dessins Visio.

Cet article couvre les sujets suivants :

  1. API Python pour rechercher et remplacer dans Visio
  2. Rechercher et remplacer du texte dans Visio
  3. Ressources gratuites

API Python pour rechercher et remplacer dans Visio

Aspose.Diagram est une bibliothèque logicielle qui donne aux développeurs la possibilité de créer, modifier et manipuler des fichiers Visio au cours de la programmation. Il fournit un ensemble d’API dans divers langages de programmation, dont Python. Nous utiliserons l’API Aspose.Diagram for the Python pour automatiser la tâche « rechercher et remplacer dans Visio ».

Veuillez télécharger le package ou installer l’API depuis PyPI à l’aide de la commande pip suivante dans la console :

pip install aspose-diagram-python 

Rechercher et remplacer du texte dans un diagramme Visio à l’aide de Python

Nous pouvons facilement rechercher et remplacer du texte dans un diagramme Visio en suivant les étapes ci-dessous :

  1. Chargez un fichier Visio à l’aide de la classe Diagram.
  2. Préparez une collection d’anciennes et de nouvelles chaînes de texte.
  3. Parcourez chaque forme.
  4. Rechercher un texte particulier d’une forme.
  5. Remplacez le texte dans cette forme.
  6. Enregistrez le diagramme.

L’exemple de code suivant montre comment rechercher et remplacer du texte dans un fichier Visio à l’aide de Python.

# Cet exemple de code montre comment convertir la recherche et le remplacement dans Visio à l'aide de Python.
import aspose.diagram
from aspose.diagram import *
from datetime import datetime, timedelta

# Créer un dictionnaire de remplacements
replacements = {
    "[[CompanyName]]": "Research Society of XYZ",
    "[[EmployeeName]]": "James Bond",
    "[[SubjectTitle]]": "The internet and social behavior",
    "[[TimePeriod]]": f"{(datetime.now() - timedelta(days=365)).strftime('%d/%B/%Y')} -- {datetime.now().strftime('%d/%B/%Y')}",
    "[[SubmissionDate]]": (datetime.now() - timedelta(days=7)).strftime('%d/%B/%Y'),
    "[[AmountReq]]": "$100,000",
    "[[DateApproved]]": (datetime.now() + timedelta(days=1)).strftime('%d/%B/%Y')
}

# Diagramme de charge
diagram = Diagram("D:\\Files\\FindReplaceText.vsdx")

# Obtenir un objet de page par index
page = diagram.pages[0];

# Parcourez les formes d'une page
for shape in page.shapes:
   for txt in shape.text.value:
        if isinstance(txt, Txt):
           for key, value in replacements.items():
                if key in txt.text:
                    # Rechercher et remplacer le texte d'une forme
                    txt.text = txt.text.replace(key, value)

# Enregistrez le diagramme
diagram.save("D:\\Files\\FindReplaceText_out.vsdx", SaveFileFormat.VSDX)
Rechercher et remplacer du texte dans un diagramme Visio à l'aide de Python

Rechercher et remplacer du texte dans un diagramme Visio à l’aide de Python

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire gratuite afin d’utiliser l’API sans limitations d’évaluation.

Rechercher et remplacer dans Visio – Ressources d’apprentissage

Outre la recherche et le remplacement de texte dans les diagrammes Visio, vous pouvez en savoir plus sur diverses autres fonctionnalités de la bibliothèque en utilisant les ressources ci-dessous :

Conclusion

En conclusion, nous avons appris comment rechercher et remplacer du texte dans des diagrammes Visio par programmation à l’aide de Python. En tirant parti d’Aspose.Diagram for Python via l’API .NET, vous pouvez automatiser diverses tâches impliquant la manipulation de fichiers Visio. Alors allez-y, essayez-le et explorez diverses autres fonctionnalités utiles de la bibliothèque. En cas d’ambiguïté, veuillez nous contacter sur notre forum d’assistance gratuit.

Voir également