مدیریت گرافیک‌های SmartArt در ارائه‌ها بر روی Android

بررسی کلی

Aspose.Slides به شما امکان می‌دهد گرافیک‌های SmartArt را در ارائه‌های PowerPoint به صورت برنامه‌نویسی ایجاد و مدیریت کنید. این مقاله توضیح می‌دهد چگونه یک شکل SmartArt را به یک اسلاید اضافه کنید، به اشکال SmartArt موجود دسترسی پیدا کنید، SmartArt را بر اساس نوع طرح خاصی پیدا کنید، و ظاهر بصری آن را با تغییر سبک SmartArt یا سبک رنگی به‌روز کنید.

نمونه‌ها نشان می‌دهند چگونه از طریق مجموعهٔ اشکال اسلاید ارائه با اشکال SmartArt کار کنید، بررسی کنید آیا یک شکل SmartArt است و سپس ویژگی‌های آن را تغییر یا بررسی کنید.

ایجاد یک شکل SmartArt

Aspose.Slides for Android via Java یک API برای ایجاد اشکال SmartArt فراهم کرده است. برای ایجاد یک شکل SmartArt در اسلاید، مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس Presentation ایجاد کنید.
  2. با استفاده از Index، مرجع یک اسلاید را دریافت کنید.
  3. با استفاده از روش Add a SmartArt shape و تنظیم آن با LayoutType یک شکل SmartArt اضافه کنید.
  4. ارائهٔ تغییر یافته را به صورت فایل PPTX ذخیره کنید.
// ایجاد نمونهٔ کلاس Presentation
Presentation pres = new Presentation();
try {
    // دریافت اولین اسلاید
    ISlide slide = pres.getSlides().get_Item(0);
    
    // افزودن شکل Smart Art
    ISmartArt smart = slide.getShapes().addSmartArt(0, 0, 400, 400, SmartArtLayoutType.BasicBlockList);
    
    // ذخیره‌سازی ارائه
    pres.save("SimpleSmartArt.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}
todo:image_alt_text
شکل: شکل SmartArt اضافه شده به اسلاید

دسترسی به شکل SmartArt در یک اسلاید

کد زیر برای دسترسی به اشکال SmartArt اضافه شده در اسلاید ارائه استفاده خواهد شد. در نمونهٔ کد، تمام اشکال داخل اسلاید را پیمایش می‌کنیم و بررسی می‌کنیم آیا شکل SmartArt است یا نه. اگر شکل از نوع SmartArt باشد، آن را به نمونهٔ SmartArt تبدیل می‌کنیم.

// بارگذاری ارائه مورد نظر
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
    // پیمایش تمام اشکال داخل اولین اسلاید
    for (IShape shape : pres.getSlides().get_Item(0).getShapes())
    {
        // بررسی اینکه آیا شکل از نوع SmartArt است
        if (shape instanceof ISmartArt)
        {
            // تبدیل نوع شکل به SmartArtEx
            ISmartArt smart = (ISmartArt)shape;
            System.out.println("Shape Name:" + smart.getName());
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

دسترسی به شکل SmartArt با نوع Layout خاص

کد نمونهٔ زیر به شما کمک می‌کند تا به شکل SmartArt با LayoutType خاص دسترسی پیدا کنید. لطفاً توجه داشته باشید که نمی‌توانید LayoutType را تغییر دهید، زیرا این ویژگی فقط هنگام افزودن شکل SmartArt تنظیم می‌شود و فقط قابل‌خواندن است.

  1. یک نمونه از کلاس Presentation ایجاد کنید و ارائه را با شکل SmartArt بارگذاری کنید.
  2. با استفاده از Index، مرجع اولین اسلاید را دریافت کنید.
  3. تمام اشکال داخل اولین اسلاید را پیمایش کنید.
  4. بررسی کنید آیا شکل از نوع SmartArt است و در صورت صحت، آن را به SmartArt تبدیل کنید.
  5. شکل SmartArt با LayoutType خاص را بررسی کنید و پس از آن کاری که مورد نیاز است را انجام دهید.
Presentation pres = new Presentation("AccessSmartArtShape.pptx");
try {
    // پیمایش تمام اشکال داخل اولین اسلاید
    for (IShape shape : pres.getSlides().get_Item(0).getShapes())
    {
        // بررسی اینکه آیا شکل از نوع SmartArt است
        if (shape instanceof ISmartArt)
        {
            // تبدیل نوع شکل به SmartArtEx
            ISmartArt smart = (ISmartArt) shape;

            // بررسی Layout SmartArt
            if (smart.getLayout() == SmartArtLayoutType.BasicBlockList)
            {
                System.out.println("Do some thing here....");
            }
        }
    }
} finally {
    if (pres != null) pres.dispose();
}

تغییر سبک شکل SmartArt

در این مثال، نحوه تغییر سبک سریع برای هر شکل SmartArt یاد می‌گیریم.

  1. یک نمونه از کلاس Presentation ایجاد کنید و ارائه را با شکل SmartArt بارگذاری کنید.
  2. با استفاده از Index، مرجع اولین اسلاید را دریافت کنید.
  3. تمام اشکال داخل اولین اسلاید را پیمایش کنید.
  4. بررسی کنید آیا شکل از نوع SmartArt است و در صورت صحت، آن را به SmartArt تبدیل کنید.
  5. شکل SmartArt با Style خاص را پیدا کنید.
  6. Style جدید را برای شکل SmartArt تنظیم کنید.
  7. ارائه را ذخیره کنید.
// ایجاد نمونهٔ کلاس Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
    // دریافت اولین اسلاید
    ISlide slide = pres.getSlides().get_Item(0);
    
    // پیمایش تمام اشکال داخل اولین اسلاید
    for (IShape shape : slide.getShapes()) 
    {
        // بررسی اینکه آیا شکل از نوع SmartArt است
        if (shape instanceof ISmartArt) 
        {
            // تبدیل نوع شکل به SmartArtEx
            ISmartArt smart = (ISmartArt) shape;
    
            // بررسی سبک SmartArt
            if (smart.getQuickStyle() == SmartArtQuickStyleType.SimpleFill) {
                // تغییر سبک SmartArt
                smart.setQuickStyle(SmartArtQuickStyleType.Cartoon);
            }
        }
    }
    // ذخیره‌سازی ارائه
    pres.save("ChangeSmartArtStyle.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}
todo:image_alt_text
شکل: شکل SmartArt با Style تغییر یافته

تغییر سبک رنگی شکل SmartArt

در این مثال، نحوه تغییر سبک رنگی برای هر شکل SmartArt را یاد می‌گیریم. در کد نمونهٔ زیر به شکل SmartArt با سبک رنگی خاص دسترسی پیدا می‌کنیم و سبک آن را تغییر می‌دهیم.

  1. یک نمونه از کلاس Presentation ایجاد کنید و ارائه را با شکل SmartArt بارگذاری کنید.
  2. با استفاده از Index، مرجع اولین اسلاید را دریافت کنید.
  3. تمام اشکال داخل اولین اسلاید را پیمایش کنید.
  4. بررسی کنید آیا شکل از نوع SmartArt است و در صورت صحت، آن را به SmartArt تبدیل کنید.
  5. شکل SmartArt با Color Style خاص را پیدا کنید.
  6. Color Style جدید را برای شکل SmartArt تنظیم کنید.
  7. ارائه را ذخیره کنید.
// ایجاد نمونهٔ کلاس Presentation
Presentation pres = new Presentation("SimpleSmartArt.pptx");
try {
    // دریافت اولین اسلاید
    ISlide slide = pres.getSlides().get_Item(0);
    
    // پیمایش تمام اشکال داخل اولین اسلاید
    for (IShape shape : slide.getShapes()) 
    {
        // بررسی اینکه آیا شکل از نوع SmartArt است
        if (shape instanceof ISmartArt) 
        {
            // تبدیل نوع شکل به SmartArtEx
            ISmartArt smart = (ISmartArt) shape;
    
            // بررسی نوع رنگ SmartArt
            if (smart.getColorStyle() == SmartArtColorType.ColoredFillAccent1) {
                // تغییر نوع رنگ SmartArt
                smart.setColorStyle(SmartArtColorType.ColorfulAccentColors);
            }
        }
    }
    // ذخیره‌سازی ارائه
    pres.save("ChangeSmartArtColorStyle.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}
todo:image_alt_text
شکل: شکل SmartArt با Color Style تغییر یافته

سوالات متداول

آیا می‌توانم SmartArt را به عنوان یک شیء واحد انیمیشن بدهم؟

بله. SmartArt یک شکل است، بنابراین می‌توانید همانند سایر اشکال، از طریق API انیمیشن‌ها standard animations (ورودی، خروجی، تأکید، مسیرهای حرکتی) استفاده کنید.

چگونه می‌توانم یک SmartArt خاص را در اسلاید پیدا کنم اگر ID داخلی آن را ندارم؟

متن جایگزین (AltText) را تنظیم کنید و با جستجو بر اساس این مقدار به شکل مورد نظر دست یابید؛ این روش پیشنهادی برای پیدا کردن هدف است.

آیا می‌توانم SmartArt را با اشکال دیگر گروه‌بندی کنم؟

بله. می‌توانید SmartArt را با اشکال دیگر (تصاویر، جداول و غیره) گروه‌بندی کنید و سپس manipulate the group کنید.

چگونه می‌توانم تصویر یک SmartArt خاص (مثلاً برای پیش‌نمایش یا گزارش) به‌دست آورم؟

یک تصویر بندانگشتی/عکس از شکل استخراج کنید؛ کتابخانه می‌تواند render individual shapes را به فایل‌های رستر (PNG/JPG/TIFF) رندر کند.

آیا ظاهر SmartArt پس از تبدیل کل ارائه به PDF حفظ می‌شود؟

بله. موتور رندرینگ برای PDF export با دقت بالا هدف‌گذاری شده و گزینه‌های متنوعی برای کیفیت و سازگاری ارائه می‌دهد.