ایجاد یک نمایشگر ارائه بر روی اندروید

معرفی

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

تولید تصویر SVG از یک اسلاید

برای تولید تصویر SVG از یک اسلاید ارائه با Aspose.Slides، لطفاً مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس Presentation را ایجاد کنید.
  2. مرجع اسلاید را با استفاده از ایندکس آن دریافت کنید.
  3. یک جریان فایل (file stream) باز کنید.
  4. اسلاید را به‌عنوان تصویر SVG در جریان فایل ذخیره کنید.
int slideIndex = 0;

Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);

FileOutputStream svgStream = new FileOutputStream("output.svg");
slide.writeAsSvg(svgStream);
svgStream.close();

presentation.dispose();

تولید SVG با شناسه شکل سفارشی

Aspose.Slides می‌تواند برای تولید یک SVG از یک اسلاید با شناسه شکل سفارشی استفاده شود. برای این کار، از متد setId در ISvgShape استفاده کنید. می‌توان از CustomSvgShapeFormattingController برای تنظیم شناسه شکل استفاده کرد.

int slideIndex = 0;

Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);

SVGOptions svgOptions = new SVGOptions();
svgOptions.setShapeFormattingController(new CustomSvgShapeFormattingController());

FileOutputStream svgStream = new FileOutputStream("output.svg");
slide.writeAsSvg(svgStream, svgOptions);
svgStream.close();

presentation.dispose();
class CustomSvgShapeFormattingController implements ISvgShapeFormattingController
{
    private int m_shapeIndex;

    public CustomSvgShapeFormattingController()
    {
        m_shapeIndex = 0;
    }

    public CustomSvgShapeFormattingController(int shapeStartIndex)
    {
        m_shapeIndex = shapeStartIndex;
    }

    public void formatShape(ISvgShape svgShape, IShape shape)
    {
        svgShape.setId(String.format("shape-%d", m_shapeIndex++));
    }
}

ایجاد تصویر بندانگشت اسلاید

Aspose.Slides به شما کمک می‌کند تا تصاویر بندانگشت اسلایدها را ایجاد کنید. برای تولید یک بندانگشت از اسلاید با استفاده از Aspose.Slides، لطفاً مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس Presentation را ایجاد کنید.
  2. مرجع اسلاید را با استفاده از ایندکس آن دریافت کنید.
  3. تصویر بندانگشت اسلاید مرجع را با مقیاس تعریف‌شده دریافت کنید.
  4. تصویر بندانگشت را در هر فرمت تصویری دلخواه ذخیره کنید.
int slideIndex = 0;
float scaleX = 1;
float scaleY = scaleX;

Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);

IImage image = slide.getImage(scaleX, scaleY);
image.save("output.jpg", ImageFormat.Jpeg);
image.dispose();

presentation.dispose();

ایجاد تصویر بندانگشت اسلاید با ابعاد تعریف‌شده توسط کاربر

برای ایجاد تصویر بندانگشت اسلاید با ابعاد تعریف‌شده توسط کاربر، لطفاً مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس Presentation را ایجاد کنید.
  2. مرجع اسلاید را با استفاده از ایندکس آن دریافت کنید.
  3. تصویر بندانگشت اسلاید مرجع را با ابعاد تعریف‌شده دریافت کنید.
  4. تصویر بندانگشت را در هر فرمت تصویری دلخواه ذخیره کنید.
int slideIndex = 0;
Size slideSize = new Size(1200, 800);

Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);

IImage image = slide.getImage(slideSize);
image.save("output.jpg", ImageFormat.Jpeg);
image.dispose();

presentation.dispose();

ایجاد تصویر بندانگشت اسلاید با یادداشت‌های سخنران

برای تولید تصویر بندانگشت اسلاید با یادداشت‌های سخنران با استفاده از Aspose.Slides، لطفاً مراحل زیر را دنبال کنید:

  1. یک نمونه از کلاس RenderingOptions را ایجاد کنید.
  2. از متد RenderingOptions.setSlidesLayoutOptions برای تنظیم موقعیت یادداشت‌های سخنران استفاده کنید.
  3. یک نمونه از کلاس Presentation را ایجاد کنید.
  4. مرجع اسلاید را با استفاده از ایندکس آن دریافت کنید.
  5. تصویر بندانگشت اسلاید مرجع را با گزینه‌های رندرینگ دریافت کنید.
  6. تصویر بندانگشت را در هر فرمت تصویری دلخواه ذخیره کنید.
int slideIndex = 0;

NotesCommentsLayoutingOptions layoutingOptions = new NotesCommentsLayoutingOptions();
layoutingOptions.setNotesPosition(NotesPositions.BottomTruncated);

RenderingOptions renderingOptions = new RenderingOptions();
renderingOptions.setSlidesLayoutOptions(layoutingOptions);

Presentation presentation = new Presentation("sample.pptx");
ISlide slide = presentation.getSlides().get_Item(slideIndex);

IImage image = slide.getImage(renderingOptions);
image.save("output.png", ImageFormat.Png);
image.dispose();

presentation.dispose();

مثال زنده

شما می‌توانید برنامه رایگان Aspose.Slides Viewer را امتحان کنید تا ببینید با API Aspose.Slides چه می‌توانید پیاده‌سازی کنید:

نمایشگر آنلاین PowerPoint

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

آیا می‌توانم یک نمایشگر ارائه را در یک برنامه وب جاسازی کنم؟

بله. می‌توانید از Aspose.Slides در سمت سرور برای تبدیل اسلایدها به تصویر یا HTML استفاده کنید و آن‌ها را در مرورگر نمایش دهید. قابلیت‌های ناوبری و زوم می‌توانند با JavaScript برای تجربه تعاملی پیاده‌سازی شوند.

بهترین روش برای نمایش اسلایدها در یک نمایشگر سفارشی چیست؟

روش پیشنهادی این است که هر اسلاید را به‌صورت تصویر (مثلاً PNG یا SVG) رندر کنید یا با استفاده از Aspose.Slides به HTML تبدیل کنید، سپس خروجی را در یک picture box (برای دسکتاپ) یا یک container HTML (برای وب) نمایش دهید.

چگونه می‌توانم ارائه‌های بزرگ با اسلایدهای بسیاری را مدیریت کنم؟

برای مجموعه‌های بزرگ، بارگذاری تنبل (lazy-loading) یا رندرینگ بر‑تقاضا برای اسلایدها را در نظر بگیرید. یعنی محتوای یک اسلاید فقط زمانی تولید می‌شود که کاربر به آن هدایت شود، که حافظه و زمان بارگذاری را کاهش می‌دهد.