Hitta Ersätt Visio Java

Visio-filer kan innehålla former, kopplingar, bilder eller text för att avbilda olika diagram som används för att skapa diagram som organisationsdiagram, flödesscheman, etc. I vissa scenarier kanske du vill hitta och ersätta viss text i ett VSD- eller VSDX-format Visio diagram. Följaktligen förklarar den här artikeln hur du hittar och ersätter text i Visio-ritningar programmatiskt i Java.

Sök och ersätt text i Visio Diagram – Java API-installation

Aspose.Diagram for Java API stöder arbete med olika Visio-filformat inklusive VSD, VSDX, VSDM, VSSX, etc. Du kan ladda ner JAR-filerna från avsnittet Nedladdningar eller använda följande konfigurationer i pom.xml-filen för ditt projekt för att få åtkomst till API:t från Aspose Repository:

Förvar:

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

Beroende:

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

Hitta och ersätt text i Visio Diagram Programmatiskt i Java

Du kan hitta och ersätta text i en Visio-fil i VSD VSDX-format med stegen nedan:

  1. Skapa en samling av strängarna för att söka och ersätta text.
  2. Ladda källfilen för Visio-diagrammet och gå igenom text i varje form.
  3. Skriv utdatafilen för Visio-diagram.

Kodexemplet nedan visar hur du hittar och ersätter text i en Visio-fil programmatiskt med Java:

// Ladda ingångsdiagrammet
Diagram diagram = new Diagram("FindReplaceText.vsdx");

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

// Förbered en samling gammal och ny text
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()));

// Iterera genom formerna på en sida
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))
            {
                // Hitta och ersätt text i en form
                tx.setText(tx.getText().replace(key, replacements.get(key)));
            }
        }
    }
}

// Spara diagrammet
diagram.save("FindReplaceText_Out.vsdx", SaveFileFormat.VSDX);

Slutsats

Sammanfattningsvis har du förstått hur du hittar och ersätter text i Visio-diagram. Du kan också improvisera kodavsnittet för att fungera med andra överbelastningar av ersättningsmetoden. Till exempel att ersätta alla instanser av matchande text eller bara den första förekomsten av söktermen i Visio-filen. Du kan besöka utrymmet dokumentation för att lära dig flera andra funktioner för att manipulera eller konvertera MS Visio-filer. Om du behöver diskutera några av dina problem eller krav, vänligen kontakta oss på forumet.

Se även

Konvertera Visio VSD- eller VSDX-fil till XAML i Java