I vissa fall kan du behöva läsa formdata från Visio-diagram. Det är vanligtvis användbart när diagram innehåller metadata. Du kan extrahera denna information i Java utan Microsoft Visio eller Office Interop. Det är idealiskt för rapportering, datakontroller eller automatiseringsverktyg. I det här inlägget kommer vi att visa dig hur du läser formdata med Java på ett klart och enkelt sätt.

Java Visio Library för att läsa formdata

I den här artikeln kommer vi att använda Aspose.Diagram for Java för att läsa formdata från Visio-filer. API:et ger fullständig åtkomst till former, sidor och anpassade egenskaper. Det fungerar med VSDX, VSD och andra format.

Du kan använda det här biblioteket i vilket Java-projekt som helst. Det är enkelt att ställa in och stöder stora diagram och batchbehandling. Om din app behöver arbeta med Visio-filer är det här SDK ett bra verktyg.

Vänligen ladda ner biblioteket från releases och lägg till JAR-filen i ditt projekt eller installera via Maven:

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-diagram</artifactId>
    <version>25.7</version>
</dependency>

Hur man läser Visio-formdata i Java

Följ dessa steg för att läsa formdata från en Visio-fil:

  1. Ladda filen med Diagram-klassen.
  2. Få en sida från diagrammet.
  3. Loopa igenom former på sidan.
  4. Print shape ID and name.

Här är ett Java-kodavsnitt som visar hur man läser Visio-formdata i Java:

// Ladda Visio-filen
Diagram diagram = new Diagram("Drawing1.vsdx");

// get pages count
System.out.println("Total Pages:" + diagram.getPages().getCount());

// Åtkomst till första sidan
Page page = diagram.getPages().get(0);

// Iterera genom former
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
    System.out.println("Shape ID: " + shape.getID());
    System.out.println("Name: " + shape.getName());
}
Total Pages: 1
Shape ID: 1
Name: Square
Shape ID: 2
Name: Rectangle
Shape ID: 3
Name: Dynamic connector

Läs en formtypsegenskap efter namn

Du kan läsa en forms egenskap genom dess namn. Följ bara dessa steg:

  1. Ladda diagramfilen.
  2. Access a page.
  3. Find the shape by name.
  4. Använd Props för att läsa egenskaperna.

Här är ett Java-kodexempel som visar hur man läser en formens egenskap genom att använda dess namn:

// Ladda Visio-filen
Diagram diagram = new Diagram("Drawing1.vsdx");

// Access the first page
Page page = diagram.getPages().get(0);

// Iterera genom former
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
    // Läsa form egenskap efter namn
    if ("Process".equals(shape.getName())) {
       for (Prop prop : (Iterable<Prop>) shape.getProps()) {
            System.out.println("Property Name: " + prop.getLabel().getValue());
            System.out.println("Value: " + prop.getValue().getVal());
        }
    }
}

Läs InheritProps av Shape i Java

Du kan också få ärvda formegenskaper genom att följa stegen nedan:

  1. Öppna Visio-filen.
  2. Hämta en sida och loopa genom former.
  3. Använd InheritProps för att läsa ärvda värden.

Följande exempel på Java-kod visar hur man läser InheritProps av Visio-former i Java:

// Ladda upp Visio-filen
Diagram diagram = new Diagram("Drawing1.vsdx");

// Access the first page
Page page = diagram.getPages().get(0);

// Iterera genom former InheritProps
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
   for (Prop prop : (Iterable<Prop>) shape.getInheritProps()) {
        System.out.println("Inherited Name: " + prop.getLabel().getValue());
        System.out.println("Value: " + prop.getValue().getVal());
    }
}

Få en gratis licens

Vill du prova Aspose.Diagram utan gränser? Du kan få en gratis tillfällig licens och testa hela funktionerna i biblioteket.

Öppna och Läs Visio Form: Gratis Resurser

Utforska dessa gratisresurser för att lära dig mer:

Slutsats

I den här artikeln lärde du dig hur man läser Visio-formdata i Java med Aspose.Diagram. Du såg hur man laddar filer, extraherar formegenskaper och läser ärvda data. Med detta kraftfulla API kan du bygga Java-appar som bearbetar Visio-filer med lätthet.

Om du behöver hjälp, tveka inte att kontakta oss via vårt gratis supportforum.

Se också