إنشاء وتخطيط وملاءمة تلقائية الأشكال
إنشاء Diagram
يتيح لك Aspose.Diagram for Java قراءة وإنشاء Microsoft Visio الرسوم التخطيطية من داخل التطبيقات الخاصة بك ، بدون أتمتة Microsoft Office. الخطوة الأولى عند تكوين وثائق جديدة هي تكوين diagram. ثمإضافة الأشكال والموصلاتلإنشاء diagram. استخدم المُنشئ الافتراضي لـDiagram فئة لإنشاء diagram جديد.
عينة البرمجة
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(CreateDiagram.class); | |
// Create directory if it is not already present. | |
File file = new File(dataDir); | |
if (!file.exists()) | |
file.mkdir(); | |
// initialize a new Diagram | |
Diagram diagram = new Diagram(); | |
// save in the VSDX format | |
diagram.save(dataDir + "CreateDiagram_Out.vsdx", SaveFileFormat.VSDX); |
أشكال التخطيط في نمط المخطط الانسيابي
مع أنواع معينة من الرسومات المتصلة ، مثل المخططات الانسيابية والرسومات التخطيطية للشبكة ، يمكنك استخدام ملحقأشكال التخطيط ميزة لوضع الأشكال تلقائيًا. يعد تحديد المواقع تلقائيًا أسرع من سحب كل شكل يدويًا إلى موقع جديد.
على سبيل المثال ، إذا كنت تقوم بتحديث مخطط انسيابي كبير لتضمين عملية جديدة ، فيمكنك إضافة الأشكال التي تشكل العملية وتوصيلها ، ثم استخدام ميزة التخطيط لتخطيط الرسم المحدث تلقائيًا.
طريقة Layout ، المكشوفة بواسطة ملفDiagram تخطيطات الفصل للأشكال و / أو إعادة توجيه الموصلات على جميع صفحات diagram. يقبل هذا الأسلوب كائن LayoutOptions كوسيطة. استخدم الخصائص المختلفة المعروضة بواسطة فئة LayoutOptions لتخطيط الأشكال تلقائيًا.
توضح الصورة أدناه diagram الذي تم تحميله بواسطة مقتطفات التعليمات البرمجية في هذه المقالة ، قبل تطبيق التخطيط التلقائي. توضح مقتطفات التعليمات البرمجية كيفية التقديمتخطيطات مخطط انسيابي وتخطيطات الشجرة المدمجة.
المصدر diagram.
تأخذ مقتطفات التعليمات البرمجية في هذه المقالة المصدر diagram وتطبق عدة أنواع من التخطيط التلقائي عليها ، مع حفظ كل منها في ملف منفصل.
تخطيط الأشكال من الأسفل إلى الأعلى |
تخطيط الأشكال من أعلى إلى أسفل |
---|---|
تخطيط الأشكال من اليسار إلى اليمين |
تخطيط الأشكال من اليمين إلى اليسار |
لتخطيط الأشكال في نمط المخطط الانسيابي: |
- قم بتكوين نسخة من الفئة Diagram.
- قم بإنشاء مثيل لفئة LayoutOptions وقم بتعيين الخصائص ذات الصلة بنمط المخطط الانسيابي.
- قم باستدعاء أسلوب تخطيط الفئة Diagram عن طريق تمرير LayoutOptions.
- اتصل بـ Diagram class ‘طريقة Save لكتابة رسم Visio.
عينة برمجة نمط المخطط الانسيابي
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(LayOutShapesInFlowchartStyle.class); | |
// load an existing Visio diagram | |
String fileName = "LayOutShapesInFlowchartStyle.vdx"; | |
Diagram diagram = new Diagram(dataDir + fileName); | |
// set layout options | |
LayoutOptions flowChartOptions = new LayoutOptions(); | |
flowChartOptions.setLayoutStyle(LayoutStyle.FLOW_CHART); | |
flowChartOptions.setSpaceShapes(1f); | |
flowChartOptions.setEnlargePage(true); | |
// set layout direction as BottomToTop and then save | |
flowChartOptions.setDirection(LayoutDirection.BOTTOM_TO_TOP); | |
diagram.layout(flowChartOptions); | |
diagram.save(dataDir + "sample_btm_top.vdx", SaveFileFormat.VDX); | |
// set layout direction as TopToBottom and then save | |
diagram = new Diagram(dataDir + fileName); | |
flowChartOptions.setDirection(LayoutDirection.TOP_TO_BOTTOM); | |
diagram.layout(flowChartOptions); | |
diagram.save(dataDir + "sample_top_btm.vdx", SaveFileFormat.VDX); | |
// set layout direction as LeftToRight and then save | |
diagram = new Diagram(dataDir + fileName); | |
flowChartOptions.setDirection(LayoutDirection.LEFT_TO_RIGHT); | |
diagram.layout(flowChartOptions); | |
diagram.save(dataDir + "sample_left_right.vdx", SaveFileFormat.VDX); | |
// set layout direction as RightToLeft and then save | |
diagram = new Diagram(dataDir + fileName); | |
flowChartOptions.setDirection(LayoutDirection.RIGHT_TO_LEFT); | |
diagram.layout(flowChartOptions); | |
diagram.save(dataDir + "sample_right_left.vdx", SaveFileFormat.VDX); |
تخطيط الأشكال في نمط الشجرة المضغوطة
يحاول نمط تخطيط الشجرة المضغوط بناء هيكل شجرة. يستخدم نفس ملف الإدخال مثل ملفالمثال أعلاهويحفظ في العديد من أنماط الأشجار المدمجة المختلفة.
تخطيط شجرة مضغوط - لأسفل ولليمين |
---|
تخطيط شجرة مضغوط - لأسفل ولليسار |
تخطيط شجرة مضغوط - لليمين ولأسفل |
تخطيط شجرة مضغوط - لليسار ولأسفل |
---|---|
لتخطيط الأشكال في نمط الشجرة المدمجة: |
- قم بإنشاء مثيل لـDiagram صف دراسي.
- قم بإنشاء مثيل لفئة LayoutOptions وقم بتعيين خصائص نمط الشجرة المدمجة.
- قم باستدعاء أسلوب تخطيط الفئة Diagram عن طريق تمرير LayoutOptions.
- قم باستدعاء الأسلوب Save للفئة Diagram لكتابة ملف Visio.
عينة برمجة نمط الشجرة المدمجة
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(LayOutShapesInCompactTreeStyle.class); | |
String fileName = "LayOutShapesInCompactTreeStyle.vdx"; | |
// load an existing Visio diagram | |
Diagram diagram = new Diagram(dataDir + fileName); | |
// set layout options | |
LayoutOptions compactTreeOptions = new LayoutOptions(); | |
compactTreeOptions.setLayoutStyle(LayoutStyle.COMPACT_TREE); | |
compactTreeOptions.setEnlargePage(true); | |
// set layout direction as DownThenRight and then save | |
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_RIGHT); | |
diagram.layout(compactTreeOptions); | |
diagram.save(dataDir + "sample_down_right.vdx", SaveFileFormat.VDX); | |
// set layout direction as DownThenLeft and then save | |
diagram = new Diagram(dataDir + fileName); | |
compactTreeOptions.setDirection(LayoutDirection.DOWN_THEN_LEFT); | |
diagram.layout(compactTreeOptions); | |
diagram.save(dataDir + "sample_down_left.vdx", SaveFileFormat.VDX); | |
// set layout direction as RightThenDown and then save | |
diagram = new Diagram(dataDir + fileName); | |
compactTreeOptions.setDirection(LayoutDirection.RIGHT_THEN_DOWN); | |
diagram.layout(compactTreeOptions); | |
diagram.save(dataDir + "sample_right_down.vdx", SaveFileFormat.VDX); | |
// set layout direction as LeftThenDown and then save | |
diagram = new Diagram(dataDir + fileName); | |
compactTreeOptions.setDirection(LayoutDirection.LEFT_THEN_DOWN); | |
diagram.layout(compactTreeOptions); | |
diagram.save(dataDir + "sample_left_down.vdx", SaveFileFormat.VDX); |
احتواء تلقائي Visio Diagram
Aspose.Diagram API يدعم التركيب التلقائي للرسم Visio. تساعد عملية الميزة هذه على إحضار الأشكال الخارجية داخل حدود الصفحة Visio.
Aspose.Diagram for Java API له الفئة Diagram التي تمثل رسم Visio. تعرض الفئة DiagramSaveOptions خاصية AutoFitPageToDrawingContent لتلائم رسم Visio تلقائيًا.
هذا المثال يعمل على النحو التالي:
- قم بتكوين عنصر للفئة Diagram.
- قم بإنشاء كائن من فئة DiagramSaveOptions وتمرير تنسيق الملف الناتج.
- قم بتعيين خاصية AutoFitPageToDrawingContent للكائن DiagramSaveOptions.
- استدعاء طريقة حفظ لكائن الفئة Diagram وأيضا تمرير مسار الملف الكامل وكائن DiagramSaveOptions.
عينة البرمجة الملائمة التلقائية
يوضح رمز المثال التالي كيفية احتواء الأشكال تلقائيًا في Visio diagram.
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(AutoFitShapesInVisio.class); | |
// load a Visio diagram | |
Diagram diagram = new Diagram(dataDir + "BFlowcht.vsdx"); | |
// use saving options | |
DiagramSaveOptions options = new DiagramSaveOptions(SaveFileFormat.VSDX); | |
// set Auto fit page property | |
options.setAutoFitPageToDrawingContent(true); | |
// save Visio diagram | |
diagram.save(dataDir + "AutoFitShapesInVisio_Out.vsdx", options); |
العمل مع مشروع VBA
تعديل كود وحدة VBA في Visio Diagram
توضح هذه المقالة كيفية تعديل رمز الوحدة النمطية لـ VBA تلقائيًا باستخدام Aspose.Diagram for Java.
لقد أضفنا فئات VbaModule و VbaModuleCollection و VbaProject و VbaProjectReference و VbaProjectReferenceCollection. تساعد هذه الفئات في التحكم في مشروع VBA. يمكن للمطورين استخراج وتعديل رمز الوحدة النمطية لـ VBA.
تعديل نموذج برمجة رمز الوحدة النمطية لـ VBA
الرجاء التحقق من مثال هذا الرمز:
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// load an existing Visio diagram | |
String dataDir = Utils.getDataDir(ModifyVBAModuleCode.class); | |
InputStream input = new FileInputStream(dataDir + "macro.vsdm"); | |
Diagram diagram = new Diagram(input); | |
// extract VBA project | |
VbaProject v = diagram.getVbaProject(); | |
// Iterate through the modules and modify VBA macro code | |
for (int i = 0; i < diagram.getVbaProject().getModules().getCount(); i++) { | |
VbaModule module = diagram.getVbaProject().getModules().get(i); | |
String code = module.getCodes(); | |
if (code.contains("This is test message.")) | |
code = code.replace("This is test message.", "This is Aspose.Diagram message."); | |
module.setCodes(code); | |
} | |
// save the Visio diagram | |
diagram.save(dataDir + "out.vssm", SaveFileFormat.VSSM); |
قم بإزالة كافة وحدات الماكرو من Visio Diagram
Aspose.Diagram for Java يسمح للمطورين بإزالة كافة وحدات الماكرو من Visio diagram.
خاصية JavaProjectData ، المكشوفة بواسطة ملفDiagram class ، تسمح لك بإزالة كافة وحدات الماكرو من الرسم Visio.
قم بإزالة كافة نماذج برمجة وحدات الماكرو
// For complete examples and data files, please go to https://github.com/aspose-diagram/Aspose.Diagram-for-Java | |
// The path to the documents directory. | |
String dataDir = Utils.getDataDir(RemoveMacrosFromVisio.class); | |
// load a Visio diagram | |
Diagram diagram = new Diagram(dataDir + "Drawing1.vsdx"); | |
// remove all macros | |
diagram.setVbProjectData(null); | |
// Save diagram | |
diagram.save(dataDir + "RemoveMacrosFromVisio_Out.vsdx", SaveFileFormat.VSDX); |