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#
- Znajdź i zamień tekst na diagramie programu Visio programowo 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:
- Przygotuj kolekcję starych i nowych ciągów tekstowych.
- Załaduj diagram wejściowy i wykonaj iterację każdego kształtu.
- 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#