V určitých případech budete potřebovat číst data tvarů z diagramů Visio. Obvykle je to užitečné, když diagramy obsahují metadata. Tyto informace můžete extrahovat v Java bez Microsoft Visio nebo Office Interop. Je to ideální pro reporty, kontrolu dat nebo automatizační nástroje. V tomto příspěvku vám ukážeme, jak číst data tvarů pomocí Java jasným a jednoduchým způsobem.

Java Visio knihovna pro čtení dat tvaru

V tomto článku použijeme Aspose.Diagram for Java k načtení dat tvarů z Visio souborů. API poskytuje plný přístup k tvarům, stránkám a vlastním vlastnostem. Pracuje s formáty VSDX, VSD a dalšími.

Tuto knihovnu můžete použít v jakémkoliv projektu Java. Je snadné ji nastavit a podporuje velké diagramy a zpracování dávkových úloh. Pokud vaše aplikace potřebuje pracovat se soubory Visio, tento SDK je skvělý nástroj.

Prosím, stáhněte knihovnu z releases a přidejte JAR do svého projektu nebo ji nainstalujte přes Maven:

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

Jak číst data tvaru Visio v Java

Postupujte podle těchto kroků pro načtení dat tvaru z souboru Visio:

  1. Načtěte soubor pomocí třídy Diagram.
  2. Získejte stránku z diagramu.
  3. Procházejte tvary na stránce.
  4. Print shape ID and name.

Zde je kódový úryvek v Java, který demonstruje, jak číst data tvarů Visio v Java:

// Načtěte soubor Visio
Diagram diagram = new Diagram("Drawing1.vsdx");

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

// Přístup na první stránku
Page page = diagram.getPages().get(0);

// Procházet tvary
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

Přečíst vlastnost tvaru podle názvu

Můžete číst vlastnost tvaru podle jeho názvu. Stačí se řídit těmito kroky:

  1. Načtěte soubor diagramu.
  2. Access a page.
  3. Find the shape by name.
  4. Použijte Props k přečtení vlastností.

Zde je příklad kódu v jazyce Java, který demonstruje, jak číst vlastnost tvaru pomocí jeho názvu:

// Načtěte soubor Visio
Diagram diagram = new Diagram("Drawing1.vsdx");

// Přístup na první stránku
Page page = diagram.getPages().get(0);

// Iterate through shapes
for (Shape shape : (Iterable<Shape>) page.getShapes()) {
    // Přečtěte si vlastnost tvaru podle názvu
    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());
        }
    }
}

Přečtěte si InheritProps tvaru v Java

Můžete také získat děděné vlastnosti tvaru následujícími kroky:

  1. Otevřete soubor Visio.
  2. Získejte stránku a procházejte tvary.
  3. Použijte InheritProps k načtení zděděných hodnot.

Následující vzorový kód v Java ukazuje, jak číst InheritProps tvarů Visio v Java:

// Načtěte soubor Visio
Diagram diagram = new Diagram("Drawing1.vsdx");

// Přístup k první stránce
Page page = diagram.getPages().get(0);

// Iterujte přes tvary 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());
    }
}

Získejte zdarma licenci

Chcete vyzkoušet Aspose.Diagram bez omezení? Můžete získat bezplatnou dočasnou licenci a otestovat všechny funkce knihovny.

Otevřít a přečíst tvar Visio: Volné zdroje

Prozkoumejte tyto bezplatné zdroje, abyste se dozvěděli více:

Závěr

V tomto článku jste se naučili, jak číst data tvaru Visio v Java pomocí Aspose.Diagram. Viděli jste, jak načíst soubory, extrahovat vlastnosti tvaru a číst děděná data. S tímto výkonným API můžete vytvářet Java aplikace, které snadno zpracovávají soubory Visio.

Pokud potřebujete pomoc, neváhejte se obrátit na náš free support forum.

See Also