Suchen Sie Visio ersetzen csharp

Visio-Dateien werden verwendet, um Diagramme wie Organigramme, Flussdiagramme usw. zu erstellen. Solche Diagramme bestehen aus verschiedenen Formen, die auch Textinformationen enthalten können. In einigen Anwendungsfällen müssen Sie möglicherweise den Text in einer beliebigen Form eines Visio-Diagramms aktualisieren. In Übereinstimmung mit diesen Anforderungen behandelt dieser Artikel das programmgesteuerte Suchen und Ersetzen von Text in Visio-Zeichnungen in C#.

Suchen und Ersetzen von Text im Visio-Diagramm – C#-API-Installation

Aspose.Diagram for .NET API unterstützt das Erstellen, Bearbeiten und Manipulieren von Visio-Dateien. Sie können die API einfach konfigurieren, indem Sie die DLL-Datei aus dem Abschnitt Neue Versionen herunterladen. Alternativ können Sie die API aus der Galerie NuGet mit dem folgenden Installationsbefehl in Microsoft Visual Studio installieren:

PM> Install-Package Aspose.Diagram

Programmgesteuertes Suchen und Ersetzen von Text in Visio-Diagrammen in C#

Visio-Dateien können mehrere Shapes in einem Diagramm enthalten. Sie können Text suchen und ersetzen, indem Sie die folgenden Schritte ausführen:

  1. Bereiten Sie eine Sammlung alter und neuer Textzeichenfolgen vor.
  2. Laden Sie das Eingabediagramm und iterieren Sie durch jede Form.
  3. Speichern Sie das ausgegebene Visio-Diagramm.

Das folgende Code-Snippet zeigt, wie Text in einer Visio-Datei im VSD- oder VSDX-Format programmgesteuert mit C# gesucht und ersetzt wird:

// Bereiten Sie eine Sammlung alter und neuer Texte vor
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"));

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

// Seite nach Namen abrufen
Page page = diagram.Pages.GetPage("Page-1");

// Iterieren Sie durch die Shapes einer Seite
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))
            {
                // Text einer Form suchen und ersetzen
                tx.Text = tx.Text.Replace(kvp.Key, kvp.Value);
            }
        }
    }
}
// Speichern Sie das Diagramm
diagram.Save("FindReplaceText_out.vsdx", SaveFileFormat.Vsdx);

Fazit

Abschließend haben Sie gelernt, wie Sie Text in Visio-Diagrammen suchen und ersetzen. Darüber hinaus können Sie den Beispielcode auf die anderen Überladungen aktualisieren, um den Text zu ersetzen. Ersetzen Sie beispielsweise nur das erste Vorkommen oder alle Vorkommen von passendem Text basierend auf Ihren Anforderungen. In der Dokumentation können Sie mehrere andere Funktionen der API kennenlernen. Darüber hinaus können Sie uns bei Fragen gerne im Forum schreiben.

Siehe auch

Kopf- und Fußzeile in VSD-VSDX-Dateien in C# einfügen oder entfernen