إدارة SmartArt في عروض PowerPoint على Android

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

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

Presentation pres = new Presentation("Presentation.pptx");
try {
    ISlide slide = pres.getSlides().get_Item(0);
    ISmartArt smartArt = (ISmartArt)slide.getShapes().get_Item(0);

    ISmartArtNodeCollection smartArtNodes = smartArt.getAllNodes();
    for (ISmartArtNode smartArtNode : smartArtNodes)
    {
        for (ISmartArtShape nodeShape : smartArtNode.getShapes())
        {
            if (nodeShape.getTextFrame() != null)
                System.out.println(nodeShape.getTextFrame().getText());
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

تغيير نوع التخطيط لكائن SmartArt

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

  • إنشاء مثيل من فئة Presentation.
  • الحصول على مرجع الشريحة باستخدام الفهرس الخاص بها.
  • إضافة SmartArt BasicBlockList.
  • تغيير LayoutType إلى BasicProcess.
  • كتابة العرض التقديمي كملف PPTX.

في المثال الموضح أدناه، أضفنا موصلًا بين شكلين.

Presentation pres = new Presentation();
try {
    // إضافة SmartArt BasicProcess
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.BasicBlockList);

    // تغيير LayoutType إلى BasicProcess
    smart.setLayout(SmartArtLayoutType.BasicProcess);

    // حفظ العرض التقديمي
    pres.save("ChangeSmartArtLayout_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

التحقق من خاصية الإخفاء لكائن SmartArt

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

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

في المثال الموضح أدناه، أضفنا موصلًا بين شكلين.

Presentation pres = new Presentation();
try {
    // إضافة SmartArt BasicProcess 
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.RadialCycle);

    // إضافة عقدة إلى SmartArt 
    ISmartArtNode node = smart.getAllNodes().addNode();

    // التحقق من خاصية isHidden
    boolean hidden = node.isHidden(); // يعيد true

    if (hidden)
    {
        // تنفيذ بعض الإجراءات أو الإشعارات
    }
    // حفظ العرض التقديمي
    pres.save("CheckSmartArtHiddenProperty_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

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

في المثال الموضح أدناه، أضفنا موصلًا بين شكلين.

Presentation pres = new Presentation();
try {
    // إضافة SmartArt BasicProcess
    ISmartArt smart = pres.getSlides().get_Item(0).getShapes().addSmartArt(10, 10, 400, 300, SmartArtLayoutType.OrganizationChart);

    // الحصول أو تعيين نوع مخطط المؤسسة
    smart.getNodes().get_Item(0).setOrganizationChartLayout(OrganizationChartLayoutType.LeftHanging);

    // حفظ العرض التقديمي
    pres.save("OrganizeChartLayoutType_out.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

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

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

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

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

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

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

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

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

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

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

الأسئلة الشائعة

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

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

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

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

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

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

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

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