تخطيط الشريحة

يحتوي تخطيط الشريحة على صناديق النماذج ومعلومات التنسيق لكافة المحتوى الذي يظهر على الشريحة. يحدد التخطيط أماكن نماذج المحتوى المتاحة ومكان وضعها.

تسمح تخطيطات الشرائح لك بإنشاء وتصميم العروض التقديمية بسرعة (سواء كانت بسيطة أو معقدة). وهذه بعض من أكثر تخطيطات الشرائح شيوعًا المستخدمة في العروض التقديمية في PowerPoint:

  • تخطيط شريحة العنوان. يتكون هذا التخطيط من نموذجين نصيين. نموذج واحد هو للعناوين والنموذج الآخر للعنوان الفرعي.
  • تخطيط العنوان والمحتوى. يحتوي هذا التخطيط على نموذج صغير نسبيًا في الأعلى للعنوان ونموذج أكبر للمحتوى الأساسي (رسم بياني، فقرات، قائمة نقطية، قائمة مرقمة، صور، إلخ).
  • تخطيط فارغ. يفتقر هذا التخطيط إلى النماذج، مما يسمح لك بإنشاء عناصر من الصفر.

نظرًا لأن الشريحة الرئيسية هي الشريحة الهرمية العليا التي تخزن المعلومات حول تخطيطات الشرائح، يمكنك استخدام الشريحة الرئيسية للوصول إلى تخطيطات الشرائح وإجراء تغييرات عليها. يمكن الوصول إلى شريحة التخطيط حسب النوع أو الاسم. وبالمثل، تحتوي كل شريحة على معرف فريد يمكن استخدامه للوصول إليها.

بدلاً من ذلك، يمكنك إجراء تغييرات مباشرة على تخطيط شريحة معين في عرض تقديمي.

إضافة تخطيط شريحة إلى العرض التقديمي

  1. أنشئ مثيل لفئة Presentation.
  2. الوصول إلى مجموعة MasterSlide.
  3. قم بمراجعة تخطيطات الشرائح الموجودة لتأكيد أن تخطيط الشريحة المطلوب موجود بالفعل في مجموعة تخطيطات الشرائح. خلاف ذلك، أضف تخطيط الشريحة الذي تريده.
  4. أضف شريحة فارغة بناءً على تخطيط الشريحة الجديد.
  5. احفظ العرض التقديمي.

يوضح لك هذا الكود C++ كيفية إضافة تخطيط شريحة إلى عرض تقديمي في PowerPoint:

	// المسار إلى مجلد المستندات.
	const String templatePath = u"../templates/AddSlides.pptx";
	const String outPath = u"../out/AddLayoutSlides.pptx";

	// ينشئ مثيل من فئة Presentation التي تمثل ملف العرض التقديمي
	SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

	// يستعرض أنواع تخطيطات الشرائح
	SharedPtr<IMasterLayoutSlideCollection> layoutSlides = pres->get_Masters()->idx_get(0)->get_LayoutSlides();

	SharedPtr<ILayoutSlide> layoutSlide;
	if (layoutSlides->GetByType(SlideLayoutType::TitleAndObject) != NULL)
	{
		layoutSlide = layoutSlides->GetByType(SlideLayoutType::TitleAndObject);
	}
	else if (layoutSlides->GetByType(SlideLayoutType::Title) != NULL)
	{
		layoutSlide = layoutSlides->GetByType(SlideLayoutType::Title);
	}

	if (layoutSlide == NULL)
	{
		// الحالة التي لا تحتوي فيها العرض التقديمي على بعض أنواع التخطيطات.
		// يحتوي ملف العرض التقديمي فقط على أنواع تخطيطات فارغة ومخصصة.
		// لكن الشرائح التخطيطية لأنواع مخصصة لها أسماء شرائح مختلفة،
		// مثل "Title"، "Title and Content"، إلخ. ومن الممكن استخدام هذه
		// الأسماء لاختيار تخطيط الشريحة.
		// يمكنك أيضًا استخدام مجموعة من أنواع أشكال النماذج. على سبيل المثال،
		// ينبغي أن تحتوي شريحة العنوان على نوع نموذج العنوان فقط، إلخ.

		for (int i = 0; i<layoutSlides->get_Count(); i++)
		{
			SharedPtr<ILayoutSlide> titleAndObjectLayoutSlide = layoutSlides->idx_get(i);

			if (titleAndObjectLayoutSlide->get_Name().Equals(u"Title and Object"))
			{
				layoutSlide = titleAndObjectLayoutSlide;
				break;
			}
		}

		if (layoutSlide == NULL)
		{
			for (int i = 0; i < layoutSlides->get_Count(); i++)
			{
				SharedPtr<ILayoutSlide> titleLayoutSlide = layoutSlides->idx_get(i);

				if (titleLayoutSlide->get_Name().Equals(u"Title"))
				{
					layoutSlide = titleLayoutSlide;
					break;
				}
			}

			if (layoutSlide == NULL)
			{
				layoutSlide = layoutSlides->GetByType(SlideLayoutType::Blank);
				if (layoutSlide == NULL)
				{
					layoutSlide = layoutSlides->Add(SlideLayoutType::TitleAndObject, u"Title and Object");
				}
			}
		}
	}

	// يضيف شريحة فارغة مع تخطيط الشريحة المضاف  
	pres->get_Slides()->InsertEmptySlide(0, layoutSlide);

	// يحفظ العرض التقديمي على القرص
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

إزالة تخطيط الشريحة غير المستخدم

توفر Aspose.Slides طريقة RemoveUnusedLayoutSlides() من فئة Compress للسماح لك بحذف تخطيطات الشرائح غير المرغوب فيها وغير المستخدمة. يوضح لك هذا الكود C++ كيفية إزالة تخطيط شريحة من عرض تقديمي في PowerPoint:

auto pres = System::MakeObject<Presentation>(u"pres.pptx");

LowCode::Compress::RemoveUnusedLayoutSlides(pres);

pres->Save(u"pres-out.pptx", SaveFormat::Pptx);

تعيين الحجم والنوع لتخطيط الشريحة

لتمكينك من تعيين الحجم والنوع لتخطيط شريحة محدد، توفر Aspose.Slides خصائص get_Type() وget_Size() (من فئة Presentation). توضح لك هذه C++ كيفية تنفيذ العملية:

	// المسار إلى مجلد المستندات.
	const String templatePath = u"../templates/AddSlides.pptx";
	const String outPath = u"../out/CloneToAnotherPresentationWithSetSizeAndType.pptx";
	// ينشئ مثيل من فئة Presentation التي تمثل ملف عرض تقديمي
	SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);

	SharedPtr<Presentation> destPres = MakeObject<Presentation>();

	// الوصول إلى الشريحة حسب المعرف من المجموعة
	SharedPtr<ISlideCollection> slideCollection = destPres->get_Slides();
	
	// تعيين حجم الشريحة للعرض التقديمي المولد إلى ذلك الخاص بالمصدر
	destPres->get_SlideSize()->SetSize(pres->get_SlideSize()->get_Type(), Aspose::Slides::SlideSizeScaleType::DoNotScale);

	slideCollection->InsertClone(1, pres->get_Slides()->idx_get(0));

	// يحفظ العرض التقديمي على القرص
	destPres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

تعيين رؤية التذييل داخل الشريحة

  1. أنشئ مثيل من فئة Presentation.
  2. احصل على مرجع الشريحة من خلال مؤشرها.
  3. اجعل نموذج تذييل الشريحة مرئيًا.
  4. اجعل نموذج التاريخ والوقت مرئيًا.
  5. احفظ العرض التقديمي.

يوضح لك هذا الكود C++ كيفية تعيين رؤية لتذييل الشريحة (وأداء المهام ذات الصلة):

 // المسار إلى مجلد المستندات.
const String outPath = u"../out/HeaderFooterManager_out.pptx";

SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// ينشئ مثيل من فئة SlideCollection
SharedPtr<ISlideCollection> slds = presentation->get_Slides();

//	SharedPtr<IBaseSlideHeaderFooterManager> headerFooterManager = presentation->get_Slides()->idx_get(0)->get_HeaderFooterManager();
SharedPtr<IMasterSlideHeaderFooterManager> headerFooterManager = presentation->get_Masters()->idx_get(0)->get_HeaderFooterManager();
if (!headerFooterManager->get_IsFooterVisible()) // خاصية IsFooterVisible تستخدم لتحديد أن نموذج تذييل الشريحة مفقود
{
	headerFooterManager->SetFooterVisibility(true); // يتم استخدام طريقة SetFooterVisibility لتعيين نموذج تذييل الشريحة ليكون مرئيًا
}
if (!headerFooterManager->get_IsSlideNumberVisible()) // خاصية IsSlideNumberVisible تستخدم لتحديد أن نموذج رقم الصفحة للشريحة مفقود
{
	headerFooterManager->SetSlideNumberVisibility(true); // يتم استخدام طريقة SetSlideNumberVisibility لتعيين نموذج رقم الصفحة للشريحة ليكون مرئيًا
}
if (!headerFooterManager->get_IsDateTimeVisible()) // خاصية IsDateTimeVisible تستخدم لتحديد أن نموذج التاريخ والوقت للشريحة مفقود
{
	headerFooterManager->SetDateTimeVisibility(true); // يتم استخدام طريقة SetFooterVisibility لتعيين نموذج التاريخ والوقت للشريحة ليكون مرئيًا
}
headerFooterManager->SetFooterText(u"نص التذييل"); // يتم استخدام طريقة SetFooterText لتعيين نص لنموذج تذييل الشريحة
headerFooterManager->SetDateTimeText(u"نص التاريخ والوقت"); // يتم استخدام طريقة SetDateTimeText لتعيين نص لنموذج التاريخ والوقت للشريحة.


// يحفظ العرض التقديمي على القرص
presentation->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

تعيين رؤية التذييل الفرعي داخل الشريحة

  1. أنشئ مثيل من فئة Presentation.
  2. احصل على مرجع للوحة الرئيسية من خلال مؤشرها.
  3. اجعل الشريحة الرئيسية وجميع نماذج التذييل الفرعي مرئية.
  4. عيّن نصًا للوحة الرئيسية وجميع نماذج التذييل الفرعي.
  5. عيّن نصًا للوحة الرئيسية وجميع نماذج التاريخ والوقت الفرعي.
  6. احفظ العرض التقديمي.

يوضح لك هذا الكود C++ إجراء العملية:

// المسار إلى مجلد المستندات.
const String outPath = u"../out/SetChildFooter_out.pptx";

SharedPtr<Presentation> presentation = MakeObject<Presentation>();

// ينشئ مثيل من فئة SlideCollection
SharedPtr<ISlideCollection> slds = presentation->get_Slides();

SharedPtr<IMasterSlideHeaderFooterManager> headerFooterManager = presentation->get_Masters()->idx_get(0)->get_HeaderFooterManager();
headerFooterManager->SetFooterAndChildFootersVisibility(true); // تُستخدم طريقة SetFooterAndChildFootersVisibility لتعيين الشريحة الرئيسية وجميع نماذج التذييل الفرعي لتكون مرئية
headerFooterManager->SetSlideNumberAndChildSlideNumbersVisibility(true); // تُستخدم طريقة SetSlideNumberAndChildSlideNumbersVisibility لتعيين الشريحة الرئيسية وجميع نماذج رقم الصفحة الفرعي لتكون مرئية
headerFooterManager->SetDateTimeAndChildDateTimesVisibility(true); // تُستخدم طريقة SetDateTimeAndChildDateTimesVisibility لتعيين الشريحة الرئيسية وجميع نماذج التاريخ والوقت الفرعي لتكون مرئية

headerFooterManager->SetFooterAndChildFootersText(u"نص التذييل"); // تُستخدم طريقة SetFooterAndChildFootersText لتعيين النصوص للشريحة الرئيسية وجميع نماذج التذييل
headerFooterManager->SetDateTimeAndChildDateTimesText(u"نص التاريخ والوقت"); // تُستخدم طريقة SetDateTimeAndChildDateTimesText لتعيين النص لنماذج التاريخ والوقت الفرعي لجميع الشرائح

presentation->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

تعيين حجم الشريحة بالنسبة لتغيير حجم المحتوى

  1. أنشئ مثيل من فئة Presentation وقم بتحميل العرض التقديمي الذي يحتوي على الشريحة التي ترغب في تعيين حجمها.
  2. أنشئ مثيلًا آخر من عائلة Presentation لإنشاء عرض تقديمي جديد.
  3. احصل على مرجع الشريحة (من العرض التقديمي الأول) من خلال مؤشرها.
  4. اجعل نموذج تذييل الشريحة مرئيًا.
  5. اجعل نموذج التاريخ والوقت مرئيًا.
  6. احفظ العرض التقديمي.

يوضح لك هذا الكود C++ كيفية تنفيذ العملية:

// المسار إلى مجلد المستندات.
const String templatePath = u"../templates/AccessSlides.pptx";
const String outPath = u"../out/SetSlideSizeScale_out.pptx";

SharedPtr<Presentation> presentation = MakeObject<Presentation>(templatePath);
SharedPtr<Presentation> auxPresentation = MakeObject<Presentation>();

// ينشئ مثيل من فئة SlideCollection
SharedPtr<ISlide> slide = presentation->get_Slides()->idx_get(0);

// تعيين حجم الشريحة للعروض التقديمية الناتجة إلى حجم المصدر
auxPresentation->get_SlideSize()->SetSize(540, 720, SlideSizeScaleType::EnsureFit); // تُستخدم طريقة SetSize لتعيين حجم الشريحة مع تغيير المحتوى لضمان التناسب
auxPresentation->get_SlideSize()->SetSize(SlideSizeType::A4Paper, SlideSizeScaleType::Maximize); // تُستخدم طريقة SetSize لتعيين حجم الشريحة إلى الحجم الأقصى للمحتوى

auxPresentation->get_Slides()->InsertClone(0, slide);
auxPresentation->get_Slides()->RemoveAt(0);

// يحفظ العرض التقديمي
presentation->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);

تعيين حجم الصفحة عند إنشاء PDF

بعض العروض التقديمية (مثل الملصقات) غالبًا ما يتم تحويلها إلى مستندات PDF. إذا كنت تبحث عن تحويل PowerPoint إلى PDF للوصول إلى أفضل خيارات الطباعة والوصول، فأنت بحاجة إلى تعيين شرائحك إلى احجام تناسب مستندات PDF (A4، على سبيل المثال).

توفر Aspose.Slides فئة SlideSize للسماح لك بتحديد الإعدادات المفضلة لديك للشرائح. يوضح لك هذا الكود C++ كيفية استخدام خاصية get_Type() (من فئة SlideSize) لتعيين حجم ورق محدد للشرائح في عرض تقديمي:

// المسار إلى مجلد المستندات.
	const String outPath = u"../out/SetPDFPageSize_out.pptx";

	// ينشئ مثيلًا من كائن Presentation الذي يمثل ملف العرض التقديمي 
	SharedPtr<Presentation>pres = MakeObject<Presentation>();

	// تعيين خاصية SlideSize.Type
	pres->get_SlideSize()->SetSize(SlideSizeType::A4Paper, SlideSizeScaleType::EnsureFit);

	// تعيين خصائص مختلفة لخيارات PDF
	Aspose::Slides::Export::PdfOptions opts = Aspose::Slides::Export::PdfOptions();
	opts.set_SufficientResolution (600);

	// حفظ العرض التقديمي
	pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pdf, &opts);