إدارة القوائم النقطية والمرقمة في العروض التقديمية باستخدام PHP

في Microsoft PowerPoint، يمكنك إنشاء قوائم نقطية ومرقمة بنفس الطريقة التي تقوم بها في Word وغيرها من محررات النص. Aspose.Slides for PHP via Java يتيح لك أيضًا استخدام النقاط والأرقام في الشرائح في عروضك التقديمية.

لماذا نستخدم القوائم النقطية؟

تساعد القوائم النقطية على تنظيم وعرض المعلومات بسرعة وكفاءة.

مثال على قائمة نقطية

في معظم الحالات، تُؤدي قائمة نقطية إلى ثلاث وظائف رئيسية:

  • يُلفت انتباه قرائك أو مشاهديك إلى المعلومات المهمة
  • يسمح لقرائك أو مشاهديك بمسح النقاط الرئيسية بسهولة
  • يتواصل ويوصل التفاصيل المهمة بكفاءة.

لماذا نستخدم القوائم المرقمة؟

القوائم المرقمة تساعد أيضًا في تنظيم وعرض المعلومات. يُفضَّل استخدام الأرقام (بدلاً من النقاط) عندما يكون ترتيب العناصر (على سبيل المثال، الخطوة 1، الخطوة 2، إلخ) مهمًا أو عندما يلزم الإشارة إلى عنصر ما (على سبيل المثال، انظر الخطوة 3).

مثال على قائمة مرقمة

هذه ملخص للخطوات (من الخطوة 1 إلى الخطوة 15) في إجراء إنشاء النقاط أدناه:

  1. إنشاء مثيل من فئة Presentation.
  2. تنفيذ عدة مهام (من الخطوة 3 إلى الخطوة 14).
  3. حفظ العرض التقديمي.

إنشاء النقاط

هذا الموضوع هو أيضًا جزء من سلسلة المواضيع لإدارة فقرات النص. ستوضح هذه الصفحة كيف يمكننا إدارة نقاط الفقرات. تكون النقاط أكثر فائدة عندما يتم وصف شيء على خطوات. علاوة على ذلك، يبدو النص منظمًا جيدًا باستخدام النقاط. فقرات النقاط دائمًا أسهل في القراءة والفهم. سنرى كيف يمكن للمطورين الاستفادة من هذه الميزة الصغيرة ولكن القوية في Aspose.Slides for PHP via Java. يرجى اتباع الخطوات أدناه لإدارة نقاط الفقرات باستخدام Aspose.Slides for PHP via Java:

  1. إنشاء مثيل من فئة Presentation.
  2. الوصول إلى الشريحة المطلوبة في مجموعة الشرائح باستخدام كائن ISlide.
  3. إضافة AutoShape إلى الشريحة المحددة.
  4. الوصول إلى TextFrame للشكل المضاف.
  5. إزالة الفقرة الافتراضية في TextFrame.
  6. إنشاء مثيل الفقرة الأولى باستخدام فئة Paragraph.
  7. تعيين نوع النقطة للفقرة.
  8. تعيين نوع النقطة إلى Symbol وتحديد حرف النقطة.
  9. تحديد نص الفقرة.
  10. تحديد مسافة الفقرة لضبط النقطة.
  11. تعيين لون النقطة.
  12. تحديد ارتفاع النقاط.
  13. إضافة الفقرة التي تم إنشاؤها إلى مجموعة فقرات TextFrame.
  14. إضافة الفقرة الثانية وإعادة العملية المذكورة في الخطوات 7 إلى 13.
  15. حفظ العرض التقديمي.
  # إنشاء كائن من فئة Presentation يمثل ملف PPTX
  $pres = new Presentation();
  try {
    # الوصول إلى الشريحة الأولى
    $slide = $pres->getSlides()->get_Item(0);
    # إضافة والوصول إلى الشكل التلقائي
    $aShp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
    # الوصول إلى إطار النص للشكل التلقائي الذي تم إنشاؤه
    $txtFrm = $aShp->getTextFrame();
    # إزالة الفقرة الافتراضية الموجودة
    $txtFrm->getParagraphs()->removeAt(0);
    # إنشاء فقرة
    $para = new Paragraph();
    # ضبط نمط الرصاصة للفقرة والرمز
    $para->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
    $para->getParagraphFormat()->getBullet()->setChar(8226);
    # ضبط نص الفقرة
    $para->setText("Welcome to Aspose.Slides");
    # ضبط مسافة إزاحة الرصاصة
    $para->getParagraphFormat()->setIndent(25);
    # ضبط لون الرصاصة
    $para->getParagraphFormat()->getBullet()->getColor()->setColorType(ColorType::RGB);
    $para->getParagraphFormat()->getBullet()->getColor()->setColor(java("java.awt.Color")->BLACK);
    # تعيين IsBulletHardColor إلى true لاستخدام لون الرصاصة المخصص
    $para->getParagraphFormat()->getBullet()->isBulletHardColor();
    # ضبط ارتفاع الرصاصة
    $para->getParagraphFormat()->getBullet()->setHeight(100);
    # إضافة الفقرة إلى إطار النص
    $txtFrm->getParagraphs()->add($para);
    # حفظ العرض التقديمي كملف PPTX
    $pres->save("Bullet.pptx", SaveFormat::Pptx);
  } finally {
    $pres->dispose();
  }

إنشاء نقاط بصورة

يتيح لك Aspose.Slides for PHP via Java تغيير النقاط في القوائم النقطية. يمكنك استبدال النقاط برموز أو صور مخصصة. إذا رغبت في إضافة عنصر بصري إلى القائمة أو جذب المزيد من الانتباه إلى العناصر في القائمة، يمكنك استخدام صورتك الخاصة كنقطة.

لإنشاء نقطة بصورة، اتبع الخطوات التالية:

  1. إنشاء مثيل من فئة Presentation
  2. الوصول إلى الشريحة المطلوبة في مجموعة الشرائح باستخدام كائن ISlide
  3. إضافة autoshape إلى الشريحة المحددة
  4. الوصول إلى TextFrame للشكل المضاف
  5. إزالة الفقرة الافتراضية في TextFrame
  6. إنشاء مثيل الفقرة الأولى باستخدام فئة Paragraph
  7. تحميل صورة من القرص في IPPImage
  8. تعيين نوع النقطة إلى Picture وتحديد الصورة
  9. تحديد نص الفقرة
  10. تحديد مسافة الفقرة لضبط النقطة
  11. تعيين لون النقطة
  12. تحديد ارتفاع النقاط
  13. إضافة الفقرة التي تم إنشاؤها إلى مجموعة فقرات TextFrame
  14. إضافة الفقرة الثانية وإعادة العملية المذكورة في الخطوات السابقة
  15. حفظ العرض التقديمي
  $pres = new Presentation();
  try {
    # الوصول إلى الشريحة الأولى
    $slide = $pres->getSlides()->get_Item(0);
    # إنشاء الصورة للرصاصات
    $picture;
    $image = Images->fromFile("asp1.jpg");
    try {
      $picture = $pres->getImages()->addImage($image);
    } finally {
      if (!java_is_null($image)) {
        $image->dispose();
      }
    }
    # إضافة والوصول إلى الشكل التلقائي
    $aShp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
    # الوصول إلى إطار النص للشكل التلقائي الذي تم إنشاؤه
    $txtFrm = $aShp->getTextFrame();
    # إزالة الفقرة الافتراضية الموجودة
    $txtFrm->getParagraphs()->removeAt(0);
    # إنشاء فقرة جديدة
    $para = new Paragraph();
    $para->setText("Welcome to Aspose.Slides");
    # ضبط نمط رصاصة الفقرة والصورة
    $para->getParagraphFormat()->getBullet()->setType(BulletType::Picture);
    $para->getParagraphFormat()->getBullet()->getPicture()->setImage($picture);
    # ضبط ارتفاع الرصاصة
    $para->getParagraphFormat()->getBullet()->setHeight(100);
    # إضافة الفقرة إلى إطار النص
    $txtFrm->getParagraphs()->add($para);
    # كتابة العرض التقديمي كملف PPTX
    $pres->save("Bullet.pptx", SaveFormat::Pptx);
  } catch (JavaException $e) {
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

إنشاء نقاط متعددة المستويات

لإنشاء قائمة نقطية تحتوي على عناصر بمستويات مختلفة—قوائم إضافية تحت القائمة النقطية الرئيسية—اتبع الخطوات التالية:

  1. إنشاء مثيل من فئة Presentation.
  2. الوصول إلى الشريحة المطلوبة في مجموعة الشرائح باستخدام كائن ISlide.
  3. إضافة autoshape إلى الشريحة المحددة.
  4. الوصول إلى TextFrame للشكل المضاف.
  5. إزالة الفقرة الافتراضية في TextFrame.
  6. إنشاء مثيل الفقرة الأولى باستخدام فئة Paragraph وتعيين العمق إلى 0.
  7. إنشاء مثيل الفقرة الثانية باستخدام فئة Paragraph وتعيين العمق إلى 1.
  8. إنشاء مثيل الفقرة الثالثة باستخدام فئة Paragraph وتعيين العمق إلى 2.
  9. إنشاء مثيل الفقرة الرابعة باستخدام فئة Paragraph وتعيين العمق إلى 3.
  10. إضافة الفقرات التي تم إنشائها إلى مجموعة فقرات TextFrame.
  11. حفظ العرض التقديمي.
  # إنشاء فئة Presentation تمثل ملف PPTX
  $pres = new Presentation();
  try {
    # الوصول إلى الشريحة الأولى
    $slide = $pres->getSlides()->get_Item(0);
    # إضافة والوصول إلى الشكل التلقائي
    $aShp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
    # الوصول إلى إطار النص للشكل التلقائي الذي تم إنشاؤه
    $txtFrm = $aShp->addTextFrame("");
    # إزالة الفقرة الافتراضية الموجودة
    $txtFrm->getParagraphs()->clear();
    # إنشاء الفقرة الأولى
    $para1 = new Paragraph();
    # ضبط نمط رصاصة الفقرة والرمز
    $para1->setText("Content");
    $para1->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
    $para1->getParagraphFormat()->getBullet()->setChar(8226);
    $para1->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $para1->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    # ضبط مستوى الرصاصة
    $para1->getParagraphFormat()->setDepth(0);
    # إنشاء الفقرة الثانية
    $para2 = new Paragraph();
    # ضبط نمط رصاصة الفقرة والرمز
    $para2->setText("Second level");
    $para2->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
    $para2->getParagraphFormat()->getBullet()->setChar('-');
    $para2->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $para2->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    # ضبط مستوى الرصاصة
    $para2->getParagraphFormat()->setDepth(1);
    # إنشاء الفقرة الثالثة
    $para3 = new Paragraph();
    # ضبط نمط رصاصة الفقرة والرمز
    $para3->setText("Third level");
    $para3->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
    $para3->getParagraphFormat()->getBullet()->setChar(8226);
    $para3->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $para3->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    # ضبط مستوى الرصاصة
    $para3->getParagraphFormat()->setDepth(2);
    # إنشاء الفقرة الرابعة
    $para4 = new Paragraph();
    # ضبط نمط رصاصة الفقرة والرمز
    $para4->setText("Fourth Level");
    $para4->getParagraphFormat()->getBullet()->setType(BulletType::Symbol);
    $para4->getParagraphFormat()->getBullet()->setChar('-');
    $para4->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->setFillType(FillType::Solid);
    $para4->getParagraphFormat()->getDefaultPortionFormat()->getFillFormat()->getSolidFillColor()->setColor(java("java.awt.Color")->BLACK);
    # ضبط مستوى الرصاصة
    $para4->getParagraphFormat()->setDepth(3);
    # إضافة الفقرة إلى إطار النص
    $txtFrm->getParagraphs()->add($para1);
    $txtFrm->getParagraphs()->add($para2);
    $txtFrm->getParagraphs()->add($para3);
    $txtFrm->getParagraphs()->add($para4);
    # حفظ العرض التقديمي كملف PPTX
    $pres->save("MultilevelBullet.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

إنشاء قوائم مرقمة مخصصة

Aspose.Slides for PHP via Java يوفر واجهة برمجة تطبيقات بسيطة لإدارة الفقرات بتنسيق أرقام مخصص. لإضافة قائمة أرقام مخصصة في فقرة، يرجى اتباع الخطوات أدناه:

  1. إنشاء مثيل من فئة Presentation.
  2. الوصول إلى الشريحة المطلوبة في مجموعة الشرائح باستخدام كائن ISlide.
  3. إضافة autoshape إلى الشريحة المحددة.
  4. الوصول إلى TextFrame للشكل المضاف.
  5. إزالة الفقرة الافتراضية في TextFrame.
  6. إنشاء مثيل الفقرة الأولى باستخدام فئة Paragraph وتعيين NumberedBulletStartWith إلى 2
  7. إنشاء مثيل الفقرة الثانية باستخدام فئة Paragraph وتعيين NumberedBulletStartWith إلى 3
  8. إنشاء مثيل الفقرة الثالثة باستخدام فئة Paragraph وتعيين NumberedBulletStartWith إلى 7
  9. إضافة الفقرات التي تم إنشاؤها إلى مجموعة فقرات TextFrame.
  10. حفظ العرض التقديمي.
  # إنشاء كائن من فئة Presentation يمثل ملف PPTX
  $pres = new Presentation();
  try {
    # الوصول إلى الشريحة الأولى
    $slide = $pres->getSlides()->get_Item(0);
    # إضافة والوصول إلى الشكل التلقائي
    $aShp = $slide->getShapes()->addAutoShape(ShapeType::Rectangle, 200, 200, 400, 200);
    # الوصول إلى إطار النص للشكل التلقائي الذي تم إنشاؤه
    $txtFrm = $aShp->addTextFrame("");
    # إزالة الفقرة الافتراضية الموجودة
    $txtFrm->getParagraphs()->clear();
    # القائمة الأولى
    $paragraph1 = new Paragraph();
    $paragraph1->setText("bullet 2");
    $paragraph1->getParagraphFormat()->setDepth(4);
    $paragraph1->getParagraphFormat()->getBullet()->setNumberedBulletStartWith(2);
    $paragraph1->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
    $txtFrm->getParagraphs()->add($paragraph1);
    $paragraph2 = new Paragraph();
    $paragraph2->setText("bullet 3");
    $paragraph2->getParagraphFormat()->setDepth(4);
    $paragraph2->getParagraphFormat()->getBullet()->setNumberedBulletStartWith(3);
    $paragraph2->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
    $txtFrm->getParagraphs()->add($paragraph2);
    # القائمة الثانية
    $paragraph5 = new Paragraph();
    $paragraph5->setText("bullet 5");
    $paragraph5->getParagraphFormat()->setDepth(4);
    $paragraph5->getParagraphFormat()->getBullet()->setNumberedBulletStartWith(5);
    $paragraph5->getParagraphFormat()->getBullet()->setType(BulletType::Numbered);
    $txtFrm->getParagraphs()->add($paragraph5);
    $pres->save($resourcesOutputPath . "SetCustomBulletsNumber-slides.pptx.pptx", SaveFormat::Pptx);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

الأسئلة المتكررة

هل يمكن تصدير القوائم النقطية والمرقمة التي تم إنشاؤها باستخدام Aspose.Slides إلى تنسيقات أخرى مثل PDF أو الصور؟

نعم، يقوم Aspose.Slides بالحفاظ بالكامل على تنسيق وبنية القوائم النقطية والمرقمة عند تصدير العروض التقديمية إلى تنسيقات مثل PDF أو الصور وغيرها، مما يضمن نتائج متسقة.

هل من الممكن استيراد قوائم نقطية أو مرقمة من عروض تقديمية موجودة؟

نعم، يسمح Aspose.Slides لك باستيراد وتحرير القوائم النقطية أو المرقمة من عروض تقديمية موجودة مع الحفاظ على تنسيقها ومظهرها الأصلي.

هل يدعم Aspose.Slides القوائم النقطية والمرقمة في العروض التقديمية التي تم إنشاؤها بلغات متعددة؟

نعم، يدعم Aspose.Slides تمامًا العروض التقديمية متعددة اللغات، مما يتيح لك إنشاء قوائم نقطية ومرقمة بأي لغة، بما في ذلك استخدام الأحرف الخاصة أو غير اللاتينية.