Rechercher Remplacer Visio csharp

Les fichiers Visio sont utilisés pour créer des diagrammes tels que des organigrammes, des organigrammes, etc. Ces diagrammes comprennent différentes formes qui peuvent également contenir des informations textuelles. Dans certains cas d’utilisation, vous devrez peut-être mettre à jour le texte dans n’importe quelle forme d’un diagramme Visio. Conformément à ces exigences, cet article explique comment rechercher et remplacer du texte dans des dessins Visio par programmation en C#.

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

L’API Aspose.Diagram for .NET prend en charge la création, la modification et la manipulation de fichiers Visio. Vous pouvez facilement configurer l’API en téléchargeant le fichier DLL à partir de la section New Releases. Vous pouvez également installer l’API à partir de la galerie NuGet avec la commande d’installation ci-dessous dans Microsoft Visual Studio :

PM> Install-Package Aspose.Diagram

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

Les fichiers Visio peuvent contenir plusieurs formes dans un diagramme. Vous pouvez rechercher et remplacer du texte en suivant les étapes ci-dessous :

  1. Préparez une collection d’anciennes et de nouvelles chaînes de texte.
  2. Chargez le diagramme d’entrée et parcourez chaque forme.
  3. Enregistrez le diagramme Visio de sortie.

L’extrait de code suivant montre comment rechercher et remplacer du texte dans un fichier Visio au format VSD ou VSDX par programmation à l’aide de C# :

// Préparer une collection de texte ancien et nouveau
Dictionary<string, string> replacements = new Dictionary<string, string>();
replacements.Add("[[CompanyName]]", "Research Society of XYZ");
replacements.Add("[[EmployeeName]]", "James Bond");
replacements.Add("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");
replacements.Add("[[TimePeriod]]", DateTime.Now.AddYears(-1).ToString("dd/MMMM/yyyy") + " -- " + DateTime.Now.ToString("dd/MMMM/yyyy"));
replacements.Add("[[SubmissionDate]]", DateTime.Now.AddDays(-7).ToString("dd/MMMM/yyyy"));
replacements.Add("[[AmountReq]]", "$100,000");
replacements.Add("[[DateApproved]]", DateTime.Now.AddDays(1).ToString("dd/MMMM/yyyy"));

// Diagramme de charge
Diagram diagram = new Diagram("FindReplaceText.vsdx");

// Obtenir la page par nom
Page page = diagram.Pages.GetPage("Page-1");

// Parcourir les formes d'une page
foreach (Shape shape in page.Shapes)
{
    foreach (KeyValuePair<string, string> kvp in replacements)
    {
        foreach (FormatTxt txt in shape.Text.Value)
        {
            Txt tx = txt as Txt;
            if (tx != null && tx.Text.Contains(kvp.Key))
            {
                // Rechercher et remplacer le texte d'une forme
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// Enregistrer le diagramme
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

Conclusion

En conclusion, vous avez appris à rechercher et à remplacer du texte dans des diagrammes Visio. De plus, vous pouvez mettre à jour l’exemple de code avec les autres surcharges pour remplacer le texte. Par exemple, remplacer uniquement la première occurrence ou toutes les occurrences du texte correspondant en fonction de vos besoins. Vous pouvez découvrir plusieurs autres fonctionnalités de l’API en consultant la documentation. De plus, en cas de questions, n’hésitez pas à nous écrire sur le forum.

Voir également

Insérer ou supprimer l’en-tête et le pied de page dans les fichiers VSD VSDX en C#