Знайдіть Замінити Visio csharp

Файли Visio використовуються для створення діаграм, таких як організаційні діаграми, блок-схеми тощо. Такі діаграми містять різні форми, які також можуть містити текстову інформацію. У деяких випадках використання може знадобитися оновити текст будь-якої форми діаграми Visio. Відповідно до таких вимог у цій статті описано, як програмно знайти та замінити текст у малюнках Visio у C#.

Пошук і заміна тексту на діаграмі Visio – встановлення C# API

Aspose.Diagram for .NET API підтримує створення, редагування та керування файлами Visio. Ви можете легко налаштувати API, завантаживши файл DLL із розділу Нові випуски. Крім того, ви можете встановити API з галереї NuGet за допомогою наведеної нижче команди встановлення в Microsoft Visual Studio:

PM> Install-Package Aspose.Diagram

Програмний пошук і заміна тексту на діаграмі Visio у C#

Файли Visio можуть містити кілька фігур на схемі. Ви можете знайти та замінити текст, виконавши наведені нижче дії.

  1. Підготуйте колекцію старих і нових текстових рядків.
  2. Завантажте вхідну діаграму та повторіть кожну фігуру.
  3. Збережіть вихідну схему Visio.

У наведеному нижче фрагменті коду показано, як програмно знайти та замінити текст у файлі Visio у форматі VSD або VSDX за допомогою C#:

// Підготувати колекцію старого та нового тексту
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"));

// Діаграма навантаження
Diagram diagram = new Diagram("FindReplaceText.vsdx");

// Отримати сторінку за назвою
Page page = diagram.Pages.GetPage("Page-1");

// Переглядайте форми сторінки
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))
            {
                // Пошук і заміна тексту фігури
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// Збережіть схему
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

Висновок

Підсумовуючи, ви дізналися, як знаходити та замінювати текст на діаграмах Visio. Крім того, ви можете оновити зразок коду до інших перевантажень для заміни тексту. Наприклад, заміна лише першого входження або всіх входжень відповідного тексту відповідно до ваших вимог. Ви можете дізнатися про деякі інші функції API, відвідавши документацію. Крім того, у разі будь-яких питань, будь ласка, напишіть нам на форум.

Дивись також

Вставте або видаліть верхній і нижній колонтитули у файлах VSD VSDX на C#