Hitta Ersätt Visio csharp

Visio-filer används för att skapa diagram som organisationsdiagram, flödesscheman etc. Sådana diagram består av olika former som även kan innehålla textinformation. I vissa användningsfall kan du behöva uppdatera texten i valfri form av ett Visio-diagram. I enlighet med sådana krav täcker den här artikeln hur man hittar och ersätter text i Visio-ritningar programmatiskt i C#.

Sök och ersätt text i Visio-diagram – C# API-installation

Aspose.Diagram for .NET API stöder att skapa, redigera och manipulera Visio-filer. Du kan enkelt konfigurera API:t genom att ladda ner DLL-filen från avsnittet New Releases. Alternativt kan du installera API:t från NuGet-galleriet med installationskommandot nedan i Microsoft Visual Studio:

PM> Install-Package Aspose.Diagram

Hitta och ersätt text i Visio Diagram Programmatiskt i C#

Visio-filer kan innehålla flera former i ett diagram. Du kan hitta och ersätta text genom att följa stegen nedan:

  1. Förbered en samling gamla och nya textsträngar.
  2. Ladda inmatningsdiagrammet och iterera genom varje form.
  3. Spara det utgående Visio-diagrammet.

Följande kodavsnitt visar hur man hittar och ersätter text i VSD- eller VSDX-format Visio-fil programmatiskt med C#:

// Förbered en samling gammal och ny text
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"));

// Lastdiagram
Diagram diagram = new Diagram("FindReplaceText.vsdx");

// Få sida med namn
Page page = diagram.Pages.GetPage("Page-1");

// Iterera genom formerna på en sida
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))
            {
                // Hitta och ersätt text i en form
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// Spara diagrammet
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

Slutsats

Avslutningsvis har du lärt dig hur du hittar och ersätter text i Visio-diagram. Dessutom kan du uppdatera exempelkoden till de andra överbelastningarna för att ersätta texten. Till exempel att endast ersätta den första förekomsten eller alla förekomster av matchande text baserat på dina krav. Du kan lära dig flera andra funktioner i API:t genom att besöka dokumentationen. Vidare, vid eventuella frågor är du välkommen att skriva till oss på forumet.

Se även

Infoga eller ta bort sidhuvud och sidfot i VSD VSDX-filer i C#