ایجاد یک نمودار Visio به‌صورت مستقیم از کد Java می‌تواند جریان کار مستندسازی را بهینه کند و نیاز به رسم دستی را از بین ببرد. Conholdate.Total for Java یک SDK قدرتمند فراهم می‌کند که به شما امکان می‌دهد فایل‌های Visio را به‌صورت برنامه‌نویسی تولید کنید. در این راهنما ما یک نمودار Visio را در Java ایجاد می‌کنیم، یک شکل را از قالب اصلی اضافه می‌کنیم، آن را موقعیت می‌دهیم و استایل متن را اعمال می‌کنیم. در پایان یک فایل VSDX آماده‑به‑باز کردن خواهید داشت که می‌تواند به‌طور بیشتر در Microsoft Visio ویرایش شود.

نیازهای ایجاد نمودار Visio

سازمان‌ها اغلب نیاز دارند تا نقشه‌های فنی، فلوچارت‌ها یا نمودارهای شبکه‌ای را به‌صورت خودکار از منابع داده تولید کنند. توسعه‌دهندگان جاوا که داشبوردهای گزارش‌گیری، ابزارهای پیکربندی یا خطوط لوله CI می‌سازند، به‌طور مکرر با نیاز به تولید فایل‌های Visio بدون مداخله دستی مواجه می‌شوند. راه‌حل باید از ایجاد شکل‌های مبتنی بر مستر‑based، موقعیت‌یابی دقیق و استایل‌گذاری متنی که با استنسل‌های موجود Visio مطابقت دارد، پشتیبانی کند. رسم دستی در Visio زمان‌بر و مستعد خطا است، به‌ویژه زمانی که نمودارها باید در هر ساخت مجدداً تولید شوند.

رویکرد: تولید نمودار Visio با Conholdate.Total

Conholdate.Total for Java یک API اختصاصی برای نمودار ارائه می‌دهد که با فرمت VSDX کار می‌کند. این امکان را می‌دهد تا الگوهای اصلی را بارگذاری کنید، اشکال را از آن الگوها اضافه کنید، اشکال را از طریق ویژگی‌های XForm آنها جابجا کنید، متن را الصاق کنید و سبک‌های متنی از پیش تعریف‌شده را اعمال کنید، همه این‌ها با فراخوانی‌های سادهٔ جاوا. مستندات کلاس‌های نمودار در مستندات رسمی موجود است و می‌توانید مرجع کامل API را در مرجع API بررسی کنید. با استفاده از این کتابخانه می‌توانید کل فرآیند ایجاد Visio را به‌صورت خودکار در سرور یا محیط دسکتاپ اجرا کنید.

ساخت راه‌حل: ایجاد نمودار Visio در Java

مراحل زیر شما را از تنظیم Maven تا ذخیره‌سازی فایل نهایی VSDX راهنمایی می‌کند.

افزودن وابستگی Maven و وارد کردن کلاس‌ها

ابتدا مخزن Maven Conholdate را پیکربندی کنید و وابستگی SDK را به فایل pom.xml خود اضافه کنید.

<repositories>
  <repository>
    <id>conholdate-repo</id>
    <name>Conholdate Maven Repository</name>
    <url>https://repository.conholdate.com/repo/</url>
  </repository>
</repositories>

<dependency>
  <groupId>com.conholdate</groupId>
  <artifactId>conholdate-total</artifactId>
  <version>24.9</version>
  <type>pom</type>
</dependency>

کلاس‌های diagram که در این آموزش استفاده می‌شوند، در بسته com.aspose.diagram قرار دارند که به عنوان بخشی از بسته Conholdate.Total for Java عرضه می‌شود:

import com.aspose.diagram.Diagram;
import com.aspose.diagram.Shape;
import com.aspose.diagram.TypeValue;
import com.aspose.diagram.Txt;
import com.aspose.diagram.SaveFileFormat;

مقداردهی اولیه نمودار و بارگذاری یک شکل اصلی

یک نمونه جدید از Diagram ایجاد کنید، سپس یک فایل استنسیل را بارگذاری کنید و مستری که می‌خواهید شکل خود را بر پایه آن بسازید انتخاب کنید. در اینجا ما از مستر داخلی “Rectangle” در استنسیل “Basic Shapes.vss” استفاده می‌کنیم.

// Create a new instance of a diagram
Diagram diagram = new Diagram();

// Define the name of the master (template) to be used for creating shapes
String masterName = "Rectangle";
diagram.addMaster("Basic Shapes.vss", masterName);

افزودن یک شکل از مستر و تنظیم موقعیت آن

یک شکل را با استفاده از master به نمودار اضافه کنید، سپس شکل را با شناسه‌ای که addShape برمی‌گرداند پیدا کنید تا بتوانید موقعیت آن را تنظیم کنید.

// Define the dimensions and position for the new shape
double width = 2, height = 2, pinX = 4.25, pinY = 4.5;

// Add a new rectangle shape to the diagram using the specified master
long rectangleId = diagram.addShape(pinX, pinY, width, height, masterName, 0);

// Retrieve the shape by its ID for modification
Shape rectangle = diagram.getPages().get(0).getShapes().getShape(rectangleId);

// Set the position of the shape by modifying its PinX and PinY properties
rectangle.getXForm().getPinX().setValue(5);
rectangle.getXForm().getPinY().setValue(5);

// Set the type of the shape to indicate it is a standard shape
rectangle.setType(TypeValue.SHAPE);

متن اضافه کنید و یک سبک متن اعمال کنید

یک متن را به شکل پیوست کنید و یکی از سبک‌های پیش‌تعریف‌شدهٔ نمودار را اعمال کنید تا برچسب با بقیهٔ سند مطابقت داشته باشد.

// Add text to the shape
rectangle.getText().getValue().add(new Txt("Aspose Diagram"));

// Apply a predefined text style to the shape's text
rectangle.setTextStyle(diagram.getStyleSheets().get(3));

ذخیره نمودار به VSDX

در نهایت، نمودار را به یک فایل VSDX بنویسید که می‌تواند در Microsoft Visio باز شود.

diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);

ایجاد نمودار Visio در Java - نمونه کامل کارکرد - مثال کد کامل

کد زیر کل جریان کار را از ابتدا تا انتها نشان می‌دهد.

import com.aspose.diagram.Diagram;
import com.aspose.diagram.Shape;
import com.aspose.diagram.TypeValue;
import com.aspose.diagram.Txt;
import com.aspose.diagram.SaveFileFormat;

public class CreateVisioDiagram {
    public static void main(String[] args) {
        try {
            // Create a new instance of a diagram
            Diagram diagram = new Diagram();

// Define the name of the master (template) to be used for creating shapes
            String masterName = "Rectangle";
            diagram.addMaster("Basic Shapes.vss", masterName);

// Define the dimensions and position for the new shape
            double width = 2, height = 2, pinX = 4.25, pinY = 4.5;

// Add a new rectangle shape to the diagram using the specified master
            long rectangleId = diagram.addShape(pinX, pinY, width, height, masterName, 0);

// Retrieve the shape by its ID for modification
            Shape rectangle = diagram.getPages().get(0).getShapes().getShape(rectangleId);

// Set the position of the shape by modifying its PinX and PinY properties
            rectangle.getXForm().getPinX().setValue(5);
            rectangle.getXForm().getPinY().setValue(5);

// Set the type of the shape to indicate it is a standard shape
            rectangle.setType(TypeValue.SHAPE);

// Add text to the shape
            rectangle.getText().getValue().add(new Txt("Aspose Diagram"));

// Apply a predefined text style to the shape's text
            rectangle.setTextStyle(diagram.getStyleSheets().get(3));

// Save the modified diagram to a file
            diagram.save("Visio_out.vsdx", SaveFileFormat.VSDX);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

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

ملاحظات استقرار برای پروژه‌های نمودار Visio

SDK بر روی هر زمان اجرا Java 8+ اجرا می‌شود و آن را برای سرویس‌های بک‌اند، کارهای دسته‌ای یا ابزارهای دسکتاپ مناسب می‌سازد. هنگام تولید نمودارهای بزرگ، مصرف heap را نظارت کنید و برای کاهش بار حافظه، استفاده مجدد از یک نمونه Diagram برای چند صفحه را در نظر بگیرید. برای تولید، یک لایسنس معتبر لازم است؛ می‌توانید برای تست یک لایسنس موقت را از صفحه لایسنس موقت دریافت کنید و یک لایسنس کامل را از طریق صفحه قیمت‌گذاری خریداری کنید. اطمینان حاصل کنید که دایرکتوری خروجی توسط فرآیندی که کد را اجرا می‌کند، قابل نوشتن باشد.

نتیجه‌گیری

ایجاد برنامه‌نویسی نمودارهای Visio در Java به‌سادگی انجام می‌شود با Conholdate.Total for Java. با دنبال کردن مراحل بالا می‌توانید یک استنسیل اصلی را بارگذاری کنید، فایل‌های VSDX تولید کنید، اشکال را به‌دقت موقعیت‌دهی کنید و استایل متن یکسانی اعمال کنید. به‌خاطر داشته باشید که یک لایسنس تولید مناسب تهیه کنید و نمودارهای تولید شده را در Microsoft Visio تست کنید تا صحت چیدمان را تأیید کنید. با داشتن SDK می‌توانید ایجاد نمودار را در طیف وسیعی از سناریوهای سازمانی خودکار کنید.

سوالات متداول

  • چگونه می‌توانم یک نمودار Visio را در Java با استفاده از یک الگوی اصلی ایجاد کنم؟
    از کلاس‌های نموداری ارائه‌شده توسط Conholdate.Total for Java، یک استنسیل را با addMaster بارگذاری کنید، یک شکل را از آن مستر با addShape اضافه کنید، و فایل را به صورت VSDX ذخیره کنید.

  • SDK برای نمودارهای Visio چه فرمت فایلی تولید می‌کند؟
    SDK فرمت مدرن VSDX را خروجی می‌دهد که کاملاً با Microsoft Visio سازگار است.

  • آیا برای اجرای فایل‌های Visio تولید شده در محیط تولید به مجوز نیاز دارم؟
    بله. یک مجوز تولید از صفحهٔ قیمت‌گذاری دریافت کنید و می‌توانید در طول توسعه از یک مجوز موقت استفاده کنید.

  • آیا می‌توانم این تولید نمودار را در یک سرویس وب ادغام کنم؟
    مطمئناً. SDK یک کتابخانهٔ خالص جاوا است، بنابراین می‌توانید آن را از هر بک‌اند مبتنی بر جاوا مانند Spring Boot یا Jakarta EE صدا بزنید.

بیشتر بخوانید