مدیریت گرافیک‌های SmartArt در ارائه‌ها با استفاده از JavaScript

نمای کلی

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

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

Create SmartArt Shape

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

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

Access SmartArt Shape in Slide

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

// بارگذاری ارائه موردنظر
var pres = new aspose.slides.Presentation("AccessSmartArtShape.pptx");
try {
    // عبور از تمام اشکال داخل اسلاید اول
    for (let i = 0; i < pres.getSlides().get_Item(0).getShapes().size(); i++) {
        let shape = pres.getSlides().get_Item(0).getShapes().get_Item(i);
        // بررسی اینکه آیا شکل از نوع SmartArt است
        if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
            // تبدیل نوع شکل به SmartArtEx
            var smart = shape;
            console.log("Shape Name:" + smart.getName());
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Access SmartArt Shape with Particular Layout Type

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

  1. یک نمونه از کلاس Presentation ایجاد کنید و ارائه حاوی شکل SmartArt را بارگذاری کنید.
  2. از طریق Index، مرجع اولین اسلاید را به‌دست آورید.
  3. در تمام اشکال داخل اولین اسلاید عبور کنید.
  4. بررسی کنید آیا شکل از نوع SmartArt است و در صورت بودن، شکل انتخاب شده را به SmartArt تبدیل کنید.
  5. شکل SmartArt با LayoutType خاص را بررسی کنید و کارهای مورد نیاز بعدی را انجام دهید.
var pres = new aspose.slides.Presentation("AccessSmartArtShape.pptx");
try {
    // عبور از تمام اشکال داخل اسلاید اول
    for (let i = 0; i < pres.getSlides().get_Item(0).getShapes().size(); i++) {
        let shape = pres.getSlides().get_Item(0).getShapes().get_Item(i);
        // بررسی اینکه آیا شکل از نوع SmartArt است
        if (java.instanceOf(shape, "com.aspose.slides.ISmartArt")) {
            // تبدیل نوع شکل به SmartArtEx
            var smart = shape;
            // بررسی Layout SmartArt
            if (smart.getLayout() == aspose.slides.SmartArtLayoutType.BasicBlockList) {
                console.log("Do some thing here....");
            }
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

Change SmartArt Shape Style

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

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

Change SmartArt Shape Color Style

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

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

FAQ

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

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

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

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

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

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

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

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

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

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