Trova Sostituisci Visio csharp

I file Visio vengono utilizzati per creare diagrammi come organigrammi, diagrammi di flusso, ecc. Tali diagrammi comprendono forme diverse che possono anche contenere informazioni di testo. In alcuni casi d’uso, potrebbe essere necessario aggiornare il testo in qualsiasi forma di un diagramma di Visio. In base a tali requisiti, in questo articolo viene illustrato come trovare e sostituire il testo nei disegni di Visio a livello di codice in C#.

Cerca e sostituisci testo nel diagramma di Visio: installazione dell’API C#

L’API Aspose.Diagram for .NET supporta la creazione, la modifica e la manipolazione di file Visio. Puoi configurare facilmente l’API scaricando il file DLL dalla sezione Nuove versioni. In alternativa, puoi installare l’API dalla raccolta NuGet con il comando di installazione seguente in Microsoft Visual Studio:

PM> Install-Package Aspose.Diagram

Trova e sostituisci testo nel diagramma di Visio a livello di codice in C#

I file di Visio possono contenere più forme in un diagramma. Puoi trovare e sostituire il testo seguendo i passaggi seguenti:

  1. Prepara una raccolta di stringhe di testo vecchie e nuove.
  2. Carica il diagramma di input e scorre ogni forma.
  3. Salva il diagramma di Visio di output.

Il frammento di codice seguente illustra come trovare e sostituire il testo nel file Visio in formato VSD o VSDX a livello di codice usando C#:

// Prepara una raccolta di testo vecchio e nuovo
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"));

// Diagramma di carico
Diagram diagram = new Diagram("FindReplaceText.vsdx");

// Ottieni la pagina per nome
Page page = diagram.Pages.GetPage("Page-1");

// Scorri le forme di una pagina
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))
            {
                // Trova e sostituisci il testo di una forma
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// Salva il diagramma
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

Conclusione

In conclusione, hai imparato come trovare e sostituire il testo nei diagrammi di Visio. Inoltre, puoi aggiornare il codice di esempio agli altri overload per sostituire il testo. Ad esempio, sostituendo solo la prima occorrenza o tutte le occorrenze del testo corrispondente in base alle proprie esigenze. Puoi conoscere molte altre funzionalità dell’API visitando la documentazione. Inoltre, in caso di domande, non esitare a scriverci sul forum.

Guarda anche

Inserisci o rimuovi intestazione e piè di pagina nei file VSD VSDX in C#