ORG Chart Java را ایجاد کنید

نمودار ORG برای توضیح گزارش یا سلسله مراتب روابط یک موسسه یا شرکت استفاده می شود. شما می توانید بدون نیاز به نصب برنامه یا ابزار مبتنی بر رابط کاربری، یک نمودار ORG بسازید. این مقاله نحوه ایجاد انواع مختلف نمودارهای ORG را به صورت برنامه‌نویسی در جاوا پوشش می‌دهد.

ORG Chart Maker – Java API نصب

Aspose.Diagram for Java API را می توان برای ایجاد انواع مختلفی از نمودارهای بصری از جمله نمودارها و فلوچارت ها استفاده کرد. می توانید فایل JAR را از قسمت Downloads یا با استفاده از مشخصات Maven زیر در فایل pom.xml برنامه خود دانلود کنید:

مخزن:

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

وابستگی:

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

نمودار ORG را به سبک CompactTree در جاوا ایجاد کنید

شما می توانید یک نمودار ORG به سبک CompactTree با مراحل زیر ایجاد کنید:

  1. بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود.
  2. مقادیر را برای ساخت سلسله مراتب تعریف کنید.
  3. شکل ها و اتصالات بین گره ها را اضافه کنید.
  4. نمودار خروجی را ذخیره کنید.

کد نمونه زیر نحوه ایجاد نمودار ORG در جاوا را نشان می دهد:

// بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود
String visioStencil = "Basic Shapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// مقادیر را برای ساخت سلسله مراتب تعریف کنید
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// برای نگاشت نام رشته به id شکل بلند، یک Hashtable تعریف کنید
Hashtable shapeIdMap = new Hashtable();
// یک نمودار جدید ایجاد کنید
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // یک شکل مستطیل جدید اضافه کنید
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // ویژگی های شکل جدید را تنظیم کنید
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// ایجاد ارتباط بین گره ها
for (String orgName : listPos)
{
    int lastColon = orgName.lastIndexOf(':');
    if(lastColon > 0)
    {
        String parendName = orgName.substring(0, lastColon);
        long shapeId = (long)shapeIdMap.get(orgName);
        long parentId = (long)shapeIdMap.get(parendName);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//طرح بندی خودکار نمودار CompactTree
LayoutOptions compactTreeOptions = new LayoutOptions();
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE);
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT);
compactTreeOptions.setEnlargePage(false);

diagram.getPages().get(pageNumber).layout(compactTreeOptions);

// ذخیره نمودار
diagram.save("DrawCompactTreeChart_java.vsdx", SaveFileFormat.VSDX);

نمودار ORG را در سبک فلوچارت در جاوا ایجاد کنید

ممکن است لازم باشد انواع مختلفی از نمودارهای ORG ایجاد کنید که ممکن است از الگوهای مختلفی پیروی کنند. در اینجا یاد خواهید گرفت که چگونه یک نمودار ORG به سبک فلوچارت به صورت برنامه نویسی در جاوا ایجاد کنید:

  1. بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود.
  2. گره ها و اتصال دهنده های سازمان را اضافه کنید.
  3. طرح بندی را تنظیم کرده و نمودار خروجی را ذخیره کنید.

قطعه کد زیر توضیح می دهد که چگونه با استفاده از جاوا یک نمودار ORG در سبک فلوچارت ایجاد کنید:

// بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود
String visioStencil = "Basic Shapes.vss";
String rectangleMaster = "Rectangle";
String connectorMaster = "Dynamic connector";
int pageNumber = 0;
double width = 1;
double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// مقادیر را برای ساخت سلسله مراتب تعریف کنید
List<String> listPos = Arrays.asList(new String[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// برای نگاشت نام رشته به id شکل بلند، یک Hashtable تعریف کنید
Hashtable shapeIdMap = new Hashtable();
// یک نمودار جدید ایجاد کنید
Diagram diagram = new Diagram(visioStencil);
diagram.getPages().get(pageNumber).getPageSheet().getPageProps().getPageWidth().setValue(11);
for (String orgnode : listPos)
{
    // یک شکل مستطیل جدید اضافه کنید
    long rectangleId = diagram.addShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // ویژگی های شکل جدید را تنظیم کنید
    Shape shape = diagram.getPages().get(pageNumber).getShapes().getShape(rectangleId);
    shape.getText().getValue().add(new Txt(orgnode));
    shape.setName(orgnode);
    shapeIdMap.put(orgnode, rectangleId);
}
// ایجاد ارتباط بین گره ها
for (String orgName : listPos)
{
    int lastColon = orgName.lastIndexOf(':');
    if(lastColon > 0)
    {
        String parendName = orgName.substring(0, lastColon);
        long shapeId = (long)shapeIdMap.get(orgName);
        long parentId = (long)shapeIdMap.get(parendName);
        Shape connector1 = new Shape();
        long connecter1Id = diagram.addShape(connector1, connectorMaster, pageNumber);
        diagram.getPages().get(pageNumber).connectShapesViaConnector(parentId, ConnectionPointPlace.RIGHT,
            shapeId, ConnectionPointPlace.LEFT, connecter1Id);
    }
}

//طرح بندی خودکار فلوچارت
LayoutOptions flowChartOptions = new LayoutOptions();
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART);
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM);
flowChartOptions.setEnlargePage(true);

diagram.getPages().get(pageNumber).layout(flowChartOptions);

// ذخیره نمودار
diagram.save("DrawFlowChart_java.vsdx", SaveFileFormat.VSDX);

مجوز موقت رایگان دریافت کنید

با درخواست [مجوز موقت رایگان] می‌توانید API را بدون هیچ گونه محدودیت ارزیابی آزمایش کنید.

نتیجه

در این مقاله با نحوه ایجاد نمودارهای ORG به صورت برنامه نویسی در جاوا آشنا شدید. ایجاد نمودار سبک CompactTree یا Flowchart را بر اساس نیاز شما توضیح می دهد. علاوه بر این، می‌توانید با رفتن به فضای مستندات به ویژگی‌های مختلف دیگر نگاهی بیندازید. لطفاً در صورتی که می خواهید در مورد هر یک از نیازها یا نگرانی های خود صحبت کنید، در [فروم 10 برای ما بنویسید.

همچنین ببینید

تبدیل VSD یا VSDX به VTX در جاوا