Znajdź Zamień Visio csharp

Pliki Visio służą do tworzenia diagramów, takich jak schematy organizacyjne, schematy blokowe itp. Takie diagramy zawierają różne kształty, które mogą również zawierać informacje tekstowe. W niektórych przypadkach może być konieczne zaktualizowanie tekstu w dowolnym kształcie diagramu programu Visio. Zgodnie z takimi wymaganiami w tym artykule omówiono programowe znajdowanie i zastępowanie tekstu w rysunkach programu Visio w języku C#.

Wyszukaj i zamień tekst na diagramie programu Visio — instalacja interfejsu API języka C#

Aspose.Diagram for .NET API obsługuje tworzenie, edytowanie i manipulowanie plikami Visio. Możesz łatwo skonfigurować API, pobierając plik DLL z sekcji New Releases. Alternatywnie możesz zainstalować interfejs API z galerii NuGet za pomocą poniższego polecenia instalacji w Microsoft Visual Studio:

PM> Install-Package Aspose.Diagram

Znajdź i zamień tekst na diagramie programu Visio programowo w języku C#

Pliki programu Visio mogą zawierać wiele kształtów na diagramie. Możesz znaleźć i zamienić tekst, wykonując poniższe czynności:

  1. Przygotuj kolekcję starych i nowych ciągów tekstowych.
  2. Załaduj diagram wejściowy i wykonaj iterację każdego kształtu.
  3. Zapisz wyjściowy diagram programu Visio.

Poniższy fragment kodu pokazuje, jak znaleźć i zamienić tekst w pliku programu Visio w formacie VSD lub VSDX programowo przy użyciu języka C#:

// Przygotuj zbiór starych i nowych tekstów
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"));

// Schemat obciążenia
Diagram diagram = new Diagram("FindReplaceText.vsdx");

// Pobierz stronę według nazwy
Page page = diagram.Pages.GetPage("Page-1");

// Iteruj przez kształty strony
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))
            {
                // Znajdź i zamień tekst kształtu
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// Zapisz schemat
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

Wniosek

Podsumowując, wiesz już, jak znajdować i zastępować tekst na diagramach programu Visio. Ponadto możesz zaktualizować przykładowy kod do innych przeciążeń w celu zastąpienia tekstu. Na przykład zastąpienie tylko pierwszego wystąpienia lub wszystkich wystąpień pasującego tekstu w zależności od wymagań. Możesz zapoznać się z kilkoma innymi funkcjami API, odwiedzając dokumentację. Ponadto w przypadku jakichkolwiek pytań prosimy pisać do nas na forum.

Zobacz też

Wstaw lub usuń nagłówek i stopkę w plikach VSD VSDX w języku C#