Suchen Sie Visio Java ersetzen

Visio-Dateien können Formen, Konnektoren, Bilder oder Text enthalten, um verschiedene Diagramme darzustellen, die zum Erstellen von Diagrammen wie Organigrammen, Flussdiagrammen usw. verwendet werden. In bestimmten Szenarien möchten Sie möglicherweise Text in einem VSD- oder VSDX-Format suchen und ersetzen Visio-Diagramm. Dementsprechend wird in diesem Artikel erläutert, wie Text in Visio-Zeichnungen programmgesteuert in Java gesucht und ersetzt wird.

Suchen und Ersetzen von Text im Visio-Diagramm – Installation der Java-API

Aspose.Diagram for Java API unterstützt die Arbeit mit verschiedenen Visio-Dateiformaten, einschließlich VSD, VSDX, VSDM, VSSX usw. Sie können die JAR-Dateien aus dem Abschnitt Downloads herunterladen oder Folgendes verwenden Konfigurationen in der pom.xml-Datei Ihres Projekts, um auf die API aus dem Aspose-Repository zuzugreifen:

Repository:

 <repositories>
    <repository>
        <id>AsposeJavaAPI</id>
        <name>Aspose Java API</name>
        <url>http://repository.aspose.com/repo/</url>
    </repository>
</repositories>

Abhängigkeit:

 <dependencies>
    <dependency>
        <groupId>com.aspose</groupId>
        <artifactId>aspose-diagram</artifactId>
        <version>22.4</version>
        <classifier>jdk16</classifier>
    </dependency>
</dependencies>

Programmgesteuertes Suchen und Ersetzen von Text in Visio-Diagrammen in Java

Sie können Text in einer Visio-Datei im VSD-VSDX-Format mit den folgenden Schritten suchen und ersetzen:

  1. Erstellen Sie eine Sammlung der Zeichenfolgen zum Suchen und Ersetzen von Text.
  2. Laden Sie die Quell-Visio-Diagrammdatei und durchlaufen Sie den Text in jeder Form.
  3. Schreiben Sie die ausgegebene Visio-Diagrammdatei.

Das folgende Codebeispiel zeigt, wie Text in einer Visio-Datei programmgesteuert mit Java gesucht und ersetzt wird:

// Laden Sie das Eingabediagramm
Diagram diagram = new Diagram("FindReplaceText.vsdx");

DateFormat dateFormat = new SimpleDateFormat("dd/MMMM/yyyy");
Date myDate = new Date(System.currentTimeMillis());
Calendar cal = Calendar.getInstance();

// Bereiten Sie eine Sammlung alter und neuer Texte vor
Hashtable<String, String> replacements = new Hashtable<String, String>();
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[CompanyName]]", "Research Society of XYZ");
replacements.put("[[EmplyeeName]]", "James Bond");
replacements.put("[[SubjectTitle]]", "The affect of the internet on social behavior in the industrialize world");

cal.setTime(myDate);
cal.add(Calendar.YEAR, -1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[TimePeriod]]", dateFormat.format(cal.getTime()) + " -- " + dateFormat.format(myDate));

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, -7);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[SubmissionDate]]", dateFormat.format(cal.getTime()));
replacements.put("[[AmountReq]]", "$100,000");

cal.setTime(myDate);
cal.add(Calendar.DAY_OF_MONTH, 1);
System.out.println(dateFormat.format(cal.getTime()));
replacements.put("[[DateApproved]]", dateFormat.format(cal.getTime()));

// Iterieren Sie durch die Shapes einer Seite
for (Shape shape : (Iterable<Shape>) diagram.getPages().getPage("Page-1").getShapes())
{
    Set<String> keys = replacements.keySet();
    for(String key: keys)
    {
        for (FormatTxt txt : (Iterable<FormatTxt>) shape.getText().getValue())
        {
       	    Txt tx = (Txt)((txt instanceof Txt) ? txt : null);
            if (tx != null && tx.getText().contains(key))
            {
                // Text einer Form suchen und ersetzen
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// Speichern Sie das Diagramm
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

Fazit

Zusammenfassend haben Sie verstanden, wie Sie Text in Visio-Diagrammen suchen und ersetzen. Sie können das Code-Snippet auch so improvisieren, dass es mit anderen Überladungen der replace-Methode funktioniert. Ersetzen Sie beispielsweise alle Instanzen von übereinstimmendem Text oder nur das erste Vorkommen des Suchbegriffs in der Visio-Datei. Sie können den Bereich Dokumentation besuchen, um mehrere andere Funktionen zum Bearbeiten oder Konvertieren von MS Visio-Dateien kennenzulernen. Falls Sie Ihre Bedenken oder Anforderungen besprechen müssen, wenden Sie sich bitte an uns im Forum.

Siehe auch

VSD- oder VSDX-Datei von Visio in XAML in Java konvertieren