ایجاد نمودار سازمانی جاوا

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

نمودار سازمانی – نصب 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>

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

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

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

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

// بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود
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);

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

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

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

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

// بارگذاری اصلی از هر نمودار، استنسیل یا الگوی موجود
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 را در ظرفیت کامل آن ارزیابی کنید.

نتیجه

در این مقاله نحوه ایجاد نمودار سازمانی به صورت برنامه نویسی در جاوا را یاد گرفتید. بسته به نیاز شما، ساخت نمودار سبک CompactTree یا Flowchart را پوشش می دهد. علاوه بر این، می‌توانید برای یادگیری سایر ویژگی‌های API از بخش اسناد دیدن کنید. در صورت نیاز به بحث در مورد موارد استفاده یا نگرانی‌های خود، می‌توانید با ما در [فروم10 تماس بگیرید.

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

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