إدارة خلفيات العروض التقديمية في بايثون عبر جافا

مقدمة

الألوان الصلبة، والتدرجات، والصور تُستخدم عادةً كخلفيات للشرائح. يمكنك تعيين الخلفية لـ شريحة عادية (شريحة واحدة) أو شريحة رئيسية (تُطبق على عدة شرائح في آن واحد).

خلفية PowerPoint

تعيين خلفية بلون صلب لشريحة عادية

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

  1. إنشاء نسخة من الفئة Presentation.
  2. ضبط BackgroundType الخاص بالشريحة إلى OwnBackground.
  3. ضبط FillType لخلفية الشريحة إلى Solid.
  4. استخدام الطريقة getSolidFillColor على FillFormat لتحديد لون الخلفية الصلبة.
  5. احفظ العرض التقديمي المعدل.

المثال التالي بلغة Python يوضح كيفية تعيين لون صلب أزرق كخلفية لشريحة عادية:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color

# إنشاء نسخة من فئة Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    # تعيين لون خلفية الشريحة إلى الأزرق.
    slide.getBackground().setType(BackgroundType.OwnBackground)
    slide.getBackground().getFillFormat().setFillType(FillType.Solid)
    slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.BLUE)

    # حفظ العرض التقديمي إلى القرص.
    presentation.save("SolidColorBackground.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

تعيين خلفية بلون صلب لشريحة رئيسية

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

  1. إنشاء نسخة من الفئة Presentation.
  2. ضبط BackgroundType الخاص بالشريحة الرئيسية (من خلال getMasters) إلى OwnBackground.
  3. ضبط FillType لخلفية الشريحة الرئيسية إلى Solid.
  4. استخدام الطريقة getSolidFillColor لتحديد لون الخلفية الصلبة.
  5. احفظ العرض التقديمي المعدل.

المثال التالي بلغة Python يوضح كيفية تعيين لون صلب (أخضر) كخلفية لشريحة رئيسية:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jp.peek.startJVM()

from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat
from java.awt import Color

# إنشاء نسخة من فئة Presentation.
presentation = Presentation()
try:
    master_slide = presentation.getMasters().get_Item(0)

    # تعيين لون خلفية الشريحة الرئيسية إلى الأخضر.
    master_slide.getBackground().setType(BackgroundType.OwnBackground)
    master_slide.getBackground().getFillFormat().setFillType(FillType.Solid)
    master_slide.getBackground().getFillFormat().getSolidFillColor().setColor(Color.GREEN)

    # حفظ العرض التقديمي إلى القرص.
    presentation.save("MasterSlideBackground.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

تعيين خلفية متدرجة لشريحة

التدرج هو تأثير رسومي يُنشأ بتغيير تدريجي في اللون. عند استخدامه كخلفية للشرائح، يمكن للتدرجات أن تجعل العروض التقديمية تبدو أكثر فنًا واحترافية. تسمح لك Aspose.Slides بتعيين لون متدرج كخلفية للشرائح.

  1. إنشاء نسخة من الفئة Presentation.
  2. ضبط BackgroundType الخاص بالشريحة إلى OwnBackground.
  3. ضبط FillType لخلفية الشريحة إلى Gradient.
  4. استخدام الطريقة getGradientFormat على FillFormat لتكوين إعدادات التدرج المفضلة لديك.
  5. احفظ العرض التقديمي المعدل.

المثال التالي بلغة Python يوضح كيفية تعيين لون متدرج كخلفية لشريحة:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BackgroundType, FillType, Presentation, SaveFormat, TileFlip
from java.awt import Color

# إنشاء نسخة من فئة Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    # تطبيق تأثير متدرج على الخلفية.
    slide.getBackground().setType(BackgroundType.OwnBackground)
    slide.getBackground().getFillFormat().setFillType(FillType.Gradient)

    gradient_format = slide.getBackground().getFillFormat().getGradientFormat()
    gradient_format.setTileFlip(TileFlip.FlipBoth)

    # إضافة ألوان التدرج. بدون نقاط التدرج، تعود الخلفية إلى مراحِل افتراضية من الأسود إلى الأبيض.
    gradient_format.getGradientStops().add(0.0, Color.CYAN)
    gradient_format.getGradientStops().add(1.0, Color.BLUE)

    # حفظ العرض التقديمي إلى القرص.
    presentation.save("GradientBackground.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

تعيين صورة كخلفية للشرائح

بالإضافة إلى التعبئة الصلبة والمتدرجة، تسمح لك Aspose.Slides باستخدام الصور كخلفيات للشرائح.

  1. إنشاء نسخة من الفئة Presentation.
  2. ضبط BackgroundType الخاص بالشريحة إلى OwnBackground.
  3. ضبط FillType لخلفية الشريحة إلى Picture.
  4. تحميل الصورة التي تريد استخدامها كخلفية للشفرة.
  5. إضافة الصورة إلى مجموعة صور العرض التقديمي.
  6. استخدام الطريقة getPictureFillFormat على FillFormat لتعيين الصورة كخلفية.
  7. احفظ العرض التقديمي المعدل.

المثال التالي بلغة Python يوضح كيفية تعيين صورة كخلفية لشريحة:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BackgroundType, FillType, Images, PictureFillMode, Presentation, SaveFormat

# إنشاء نسخة من فئة Presentation.
presentation = Presentation()
try:
    slide = presentation.getSlides().get_Item(0)

    # تعيين خصائص صورة الخلفية.
    slide.getBackground().setType(BackgroundType.OwnBackground)
    slide.getBackground().getFillFormat().setFillType(FillType.Picture)
    slide.getBackground().getFillFormat().getPictureFillFormat().setPictureFillMode(PictureFillMode.Stretch)

    # تحميل الصورة.
    image = Images.fromFile("Tulips.jpg")
    # إضافة الصورة إلى مجموعة صور العرض التقديمي.
    presentation_image = presentation.getImages().addImage(image)
    image.dispose()

    slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().setImage(presentation_image)

    # حفظ العرض التقديمي إلى القرص.
    presentation.save("ImageAsBackground.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

المثال التالي يوضح كيفية تعيين نوع تعبئة الخلفية إلى صورة متكررة وتعديل خصائص التبويب:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import BackgroundType, FillType, Images, PictureFillMode, Presentation, RectangleAlignment, SaveFormat, TileFlip

presentation = Presentation()
try:
    first_slide = presentation.getSlides().get_Item(0)

    background = first_slide.getBackground()

    background.setType(BackgroundType.OwnBackground)
    background.getFillFormat().setFillType(FillType.Picture)

    new_image = Images.fromFile("image.png")
    presentation_image = presentation.getImages().addImage(new_image)
    new_image.dispose()

    # تعيين الصورة المستخدمة لملء الخلفية.
    background_picture_fill_format = background.getFillFormat().getPictureFillFormat()
    background_picture_fill_format.getPicture().setImage(presentation_image)

    # تعيين وضع ملء الصورة إلى تجانب وتعديل خصائص التجانب.
    background_picture_fill_format.setPictureFillMode(PictureFillMode.Tile)
    background_picture_fill_format.setTileOffsetX(15.0)
    background_picture_fill_format.setTileOffsetY(15.0)
    background_picture_fill_format.setTileScaleX(46.0)
    background_picture_fill_format.setTileScaleY(87.0)
    background_picture_fill_format.setTileAlignment(RectangleAlignment.Center)
    background_picture_fill_format.setTileFlip(TileFlip.FlipY)

    presentation.save("TileBackground.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

تغيير شفافية صورة الخلفية

قد ترغب في تعديل شفافية صورة خلفية الشريحة لجعل محتوى الشريحة يبرز. الكود التالي بلغة Python يوضح كيفية تغيير الشفافية لصورة خلفية الشريحة:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import AlphaModulateFixed, Presentation, SaveFormat

transparency_value = 30  # على سبيل المثال.

presentation = Presentation("sample.pptx")
try:
    slide = presentation.getSlides().get_Item(0)

    # الحصول على مجموعة عمليات تحويل الصورة.
    image_transform = slide.getBackground().getFillFormat().getPictureFillFormat().getPicture().getImageTransform()

    # البحث عن تأثير شفافية ثابت بالنسبة المئوية موجود.
    transparency_operation = None
    for operation in image_transform:
        if isinstance(operation, AlphaModulateFixed):
            transparency_operation = operation
            break

    # تعيين قيمة الشفافية الجديدة.
    if transparency_operation is None:
        image_transform.addAlphaModulateFixedEffect(100 - transparency_value)
    else:
        transparency_operation.setAmount(100 - transparency_value)

    presentation.save("output.pptx", SaveFormat.Pptx)
finally:
    presentation.dispose()

الحصول على قيمة خلفية الشريحة

تسمح لك Aspose.Slides باسترجاع القيم الفعلية لخلفية الشريحة باستخدام الطريقة getEffective على Background. البيانات المرجعة تكشف عن تنسيقات التعبئة والتأثير الفعلية.

باستخدام طريقة getBackground من فئة BaseSlide، يمكنك الحصول على خلفية الشريحة.

المثال التالي بلغة Python يوضح كيفية الحصول على القيمة الفعلية لخلفية الشريحة:

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FillType, Presentation

# إنشاء نسخة من فئة Presentation.
presentation = Presentation("Sample.pptx")
try:
    slide = presentation.getSlides().get_Item(0)

    # استرجاع الخلفية الفعلية مع الأخذ في الاعتبار الشريحة الرئيسية، والتخطيط، والسمة.
    effective_background = slide.getBackground().getEffective()

    if effective_background.getFillFormat().getFillType() == FillType.Solid:
        print("Fill color:", effective_background.getFillFormat().getSolidFillColor())
    else:
        print("Fill type:", effective_background.getFillFormat().getFillType())
finally:
    presentation.dispose()

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

هل يمكنني إعادة تعيين خلفية مخصصة واستعادة خلفية السمة/التخطيط؟

نعم. أزل التعبئة المخصصة للشفرة، وستتم وراثة الخلفية مرةً أخرى من شريحة layout/master المقابلة (أي theme background).

ماذا يحدث للخلفية إذا غيرت سمة العرض التقديمي لاحقًا؟

إذا كانت الشريحة تحتوي على تعبئة خاصة بها، فستظل دون تغيير. إذا كانت الخلفية مستوردة من layout/master، فستُحدَّث لتطابق new theme.