إنشاء مخطط Visio مباشرةً من كود Java يمكن أن يبسط سير عمل الوثائق ويقضي على الحاجة للرسم اليدوي. Conholdate.Total for Java يوفر مجموعة تطوير برمجيات قوية تتيح لك إنشاء ملفات Visio برمجياً. في هذا الدليل سنقوم بإنشاء مخطط Visio في Java، إضافة شكل من قالب رئيسي، تحديد موقعه، وتطبيق تنسيق النص. في النهاية ستحصل على ملف VSDX جاهز للفتح يمكن تحريره لاحقاً في Microsoft Visio.
متطلبات إنشاء مخطط Visio
غالبًا ما تحتاج المؤسسات إلى إنتاج مخططات تقنية، مخططات تدفق، أو رسومات شبكية تلقائيًا من مصادر البيانات. يواجه مطورو Java الذين يبنون لوحات تقارير، أدوات تكوين، أو خطوط أنابيب CI الحاجة إلى إنشاء ملفات Visio دون تدخل يدوي. يجب أن يدعم الحل إنشاء الأشكال بناءً على القوالب الرئيسية، وتحديد المواقع بدقة، وتنسيق النص بما يتطابق مع القوالب الموجودة في Visio. الرسم اليدوي في Visio يستغرق وقتًا طويلاً وعرضة للأخطاء، خاصةً عندما يجب تجديد الرسومات في كل عملية بناء.
النهج: إنشاء مخطط Visio باستخدام Conholdate.Total
Conholdate.Total for Java يقدم واجهة برمجة تطبيقات مخططات مخصصة تعمل مع تنسيق VSDX. يتيح لك تحميل القوالب الرئيسية، إضافة الأشكال من تلك القوالب، إعادة تموضع الأشكال عبر خصائص XForm الخاصة بها، إرفاق النص، وتطبيق أنماط النص المحددة مسبقًا، كل ذلك من خلال استدعاءات Java بسيطة. الوثائق الخاصة بفئات المخططات متاحة في الوثائق الرسمية، ويمكن استكشاف مرجع 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>
فئات المخطط المستخدمة في هذا البرنامج التعليمي موجودة ضمن الحزمة 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، ثم تحميل ملف stencil واختيار الـ master الذي تريد أن تبني الشكل الخاص بك عليه. هنا نستخدم الـ master المدمج “Rectangle” من stencil “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);
إضافة شكل من القالب وتعيين موقعه
أضف شكلاً إلى المخطط باستخدام القالب، ثم ابحث عن الشكل باستخدام المعرف الذي تُعيده الدالة 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.
