إدارة SmartArt

الحصول على النص من SmartArt

تم الآن إضافة طريقة TextFrame إلى الفئة SmartArtShape و الفئة SmartArtShape على التوالي. تسمح لك هذه الخاصية بالحصول على كل النص من SmartArt إذا لم يكن لديه نص العقد فقط. سيساعدك رمز العينة التالي في الحصول على النص من عقدة SmartArt.

var pres = new aspose.slides.Presentation("Presentation.pptx");
try {
    var slide = pres.getSlides().get_Item(0);
    var smartArt = slide.getShapes().get_Item(0);
    var smartArtNodes = smartArt.getAllNodes();
    
    for (let i = 0; i < smartArtNodes.size(); i++) {
        const smartArtNode = smartArtNodes.get_Item(i);
        for (let j = 0; j < smartArtNode.getShapes().size(); j++) {
            const nodeShape = smartArtNode.getShapes().get_Item(j);
            if (nodeShape.getTextFrame() != null) {
                console.log(nodeShape.getTextFrame().getText());
            }
        }
    }
    
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

تغيير نوع تخطيط SmartArt

لتغيير نوع تخطيط SmartArt يرجى اتباع الخطوات التالية:

  • إنشاء مثال من الفئة Presentation.
  • الحصول على مرجع شريحة باستخدام فهرسها.
  • إضافة SmartArt BasicBlockList.
  • تغيير LayoutType إلى BasicProcess.
  • حفظ العرض التقديمي كملف PPTX. في المثال أدناه، تم إضافة موصل بين شكلين.
var pres = new aspose.slides.Presentation();
try {
    // إضافة SmartArt BasicProcess
    var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.BasicBlockList);
    // تغيير LayoutType إلى BasicProcess
    smart.setLayout(aspose.slides.SmartArtLayoutType.BasicProcess);
    // حفظ العرض التقديمي
    pres.save("ChangeSmartArtLayout_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

التحقق من الخاصية المخفية في SmartArt

يرجى ملاحظة: طريقة SmartArtNode.isHidden() تُرجع true إذا كانت هذه العقدة عقدة مخفية في نموذج البيانات. للتحقق من الخاصية المخفية لأي عقدة من SmartArt يرجى اتباع الخطوات التالية:

  • إنشاء مثال من الفئة Presentation.
  • إضافة SmartArt RadialCycle.
  • إضافة عقدة إلى SmartArt.
  • التحقق من الخاصية isHidden .
  • حفظ العرض التقديمي كملف PPTX.

في المثال أدناه، تم إضافة موصل بين شكلين.

var pres = new aspose.slides.Presentation();
try {
    // إضافة SmartArt BasicProcess
    var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.RadialCycle);
    // إضافة عقدة إلى SmartArt
    var node = smart.getAllNodes().addNode();
    // التحقق من الخاصية isHidden
    var hidden = node.isHidden();// Returns true
    if (hidden) {
        // إجراء بعض الإجراءات أو الإشعارات
    }
    // حفظ العرض التقديمي
    pres.save("CheckSmartArtHiddenProperty_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

الحصول على أو تعيين نوع مخطط المؤسسة

تسمح الطرق SmartArtNode.getOrganizationChartLayout() و setOrganizationChartLayout(int) بالحصول على أو تعيين نوع مخطط المؤسسة المرتبط بالعقدة الحالية. للحصول على أو تعيين نوع مخطط المؤسسة يرجى اتباع الخطوات التالية:

var pres = new aspose.slides.Presentation();
try {
    // إضافة SmartArt BasicProcess
    var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.OrganizationChart);
    // الحصول على أو تعيين نوع مخطط المؤسسة
    smart.getNodes().get_Item(0).setOrganizationChartLayout(aspose.slides.OrganizationChartLayoutType.LeftHanging);
    // حفظ العرض التقديمي
    pres.save("OrganizeChartLayoutType_out.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

إنشاء مخطط مؤسسة صورة

توفر Aspose.Slides لـ Node.js عبر Java واجهة برمجة تطبيقات بسيطة لإنشاء مخططات PictureOrganization بسهولة. لإنشاء مخطط على شريحة:

  1. إنشاء مثال من الفئة Presentation.
  2. الحصول على مرجع الشريحة باستخدام فهرسها.
  3. إضافة مخطط ببيانات افتراضية مع النوع المطلوب (ChartType.PictureOrganizationChart).
  4. حفظ العرض التقديمي المعدل كملف PPTX.

يُستخدم الكود التالي لإنشاء المخطط.

var pres = new aspose.slides.Presentation("test.pptx");
try {
    var smartArt = pres.getSlides().get_Item(0).getShapes().addSmartArt(0, 0, 400, 400, aspose.slides.SmartArtLayoutType.PictureOrganizationChart);
    pres.save("OrganizationChart.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

الحصول على أو تعيين حالة SmartArt

لتغيير نوع تخطيط SmartArt يرجى اتباع الخطوات التالية:

  1. إنشاء مثال من الفئة Presentation.
  2. إضافة SmartArt إلى الشريحة.
  3. الحصول أو تعيين حالة مخطط SmartArt.
  4. حفظ العرض التقديمي كملف PPTX.

يُستخدم الكود التالي لإنشاء المخطط.

// إنشاء كائن من فئة Presentation يمثل ملف PPTX
var pres = new aspose.slides.Presentation();
try {
    // إضافة SmartArt BasicProcess
    var smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, aspose.slides.SmartArtLayoutType.BasicProcess);
    // الحصول على حالة مخطط SmartArt أو تعيينها
    smart.setReversed(true);
    var flag = smart.isReversed();
    // حفظ العرض التقديمي
    pres.save("output.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

FAQ

هل يدعم SmartArt الانعكاس/العكس للغات RTL؟

نعم. طريقة setReversed تغير اتجاه المخطط (LTR/RTL) إذا كان نوع SmartArt المختار يدعم العكس.

كيف يمكنني نسخ SmartArt إلى الشريحة نفسها أو إلى عرض تقديمي آخر مع الحفاظ على التنسيق؟

يمكنك استنساخ الشكل SmartArt عبر مجموعة الأشكال (ShapeCollection.addClone) أو استنساخ الشريحة بالكامل التي تحتوي على هذا الشكل. كلا الطريقتين تحافظان على الحجم والموقع والتنسيق.

كيف أقوم بتصيير SmartArt إلى صورة نقطية للمعاينة أو التصدير للويب؟

تصيير الشريحة (أو العرض التقديمي بأكمله) إلى PNG/JPEG عبر واجهة البرمجة التي تحول الشرائح/العروض إلى صور—سيتم رسم SmartArt كجزء من الشريحة.

كيف يمكنني برمجيًا اختيار SmartArt محدد على شريحة إذا كان هناك عدة عناصر؟

ممارسة شائعة هي استخدام النص البديل (Alt Text) أو setName والبحث عن الشكل عبر ذلك attribute باستخدام Slide.getShapes، ثم التحقق من النوع لتأكيد أنه SmartArt. توضح الوثائق التقنيات النموذجية للعثور على الأشكال والعمل معها.