Search code examples
javaopenoffice.orgopenoffice-impress

How to get custom shape type from OpenOffice SDK?


I am using OpenOffice SDK to open and parse ppt and pptx files; now I can open ppt files and extract shapes.

XShape xShape = (XShape) UnoRuntime.queryInterface(
    XShape.class, xShapes.getByIndex(j));
String type = xShape.getShapeType();

By using the code above I can get shape type and for rectangle, ellipse, etc., but I get com.sun.star.drawing.CustomShape.

Is there a way to get the shape type, like rectangle, ellipse, etc.?


Solution

  • The only way I could find is getting UINameSingular property

    XPropertySet xShapeProperties = (XPropertySet) 
        UnoRuntime.queryInterface(XPropertySet.class, xShape);
    String uiName = (String) xShapeProperties.getPropertyValue("UINameSingular");