ذخیرهٔ ارائه‌ها در اندروید

بررسی کلی

Open Presentations on Android توضیح می‌دهد چگونه از کلاس Presentation برای باز کردن یک ارائه استفاده کنید. این مقاله نحوه ایجاد و ذخیرهٔ ارائه‌ها را توضیح می‌دهد. کلاس Presentation حاوی محتوای یک ارائه است. چه از ابتدا یک ارائه ایجاد کنید و چه یک ارائه موجود را ویرایش کنید، پس از اتمام باید آن را ذخیره کنید. با Aspose.Slides برای Android می‌توانید به فایل یا جریان ذخیره کنید. این مقاله روش‌های مختلف ذخیرهٔ یک ارائه را شرح می‌دهد.

ذخیرهٔ ارائه‌ها به فایل‌ها

برای ذخیرهٔ یک ارائه به یک فایل، متد save کلاس [Presentation] را فراخوانی کنید. نام فایل و قالب ذخیره را به متد پاس دهید. مثال زیر نشان می‌دهد چگونه یک ارائه را با Aspose.Slides ذخیره کنید.

// نمونه‌سازی کلاس Presentation که نمایانگر یک فایل ارائه است.
Presentation presentation = new Presentation();
try {
    // در اینجا کاری انجام دهید...

    // ارائه را به یک فایل ذخیره کنید.
    presentation.save("Output.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

ذخیرهٔ ارائه‌ها به جریان‌ها

می‌توانید یک ارائه را به یک جریان ذخیره کنید با پاس کردن یک خروجی جریان به متد save کلاس [Presentation]. یک ارائه می‌تواند به انواع مختلف جریان‌ها نوشته شود. در مثال زیر، یک ارائه جدید ایجاد می‌کنیم و آن را به یک جریان فایل ذخیره می‌کنیم.

// نمونه‌سازی کلاس Presentation که نمایانگر یک فایل ارائه است.
Presentation presentation = new Presentation();
try {
    OutputStream fileStream = new FileOutputStream("Output.pptx");
    try {
        // ارائه را به جریان ذخیره کنید.
        presentation.save(fileStream, SaveFormat.Pptx);
    } finally {
        fileStream.close();
    }
} finally {
    presentation.dispose();
}

ذخیرهٔ ارائه‌ها با نوع نمای پیش‌تعریف‌شده

Aspose.Slides به شما اجازه می‌دهد نمای اولیه‌ای که PowerPoint هنگام باز کردن ارائه‌ی تولید شده استفاده می‌کند را از طریق کلاس ViewProperties تنظیم کنید. از متد setLastView با مقدار از شمارنده ViewType استفاده کنید.

Presentation presentation = new Presentation();
try {
    presentation.getViewProperties().setLastView(ViewType.SlideMasterView);
    presentation.save("SlideMasterView.pptx", SaveFormat.Pptx);
} finally {
    presentation.dispose();
}

ذخیرهٔ ارائه‌ها در فرمت Strict Office Open XML

Aspose.Slides به شما اجازه می‌دهد یک ارائه را در فرمت Strict Office Open XML ذخیره کنید. از کلاس PptxOptions استفاده کنید و هنگام ذخیره‌سازی ویژگی conformance آن را تنظیم کنید. اگر Conformance.Iso29500_2008_Strict را تنظیم کنید، فایل خروجی در فرمت Strict Office Open XML ذخیره می‌شود.

مثال زیر یک ارائه ایجاد می‌کند و آن را در فرمت Strict Office Open XML ذخیره می‌کند.

PptxOptions options = new PptxOptions();
options.setConformance(Conformance.Iso29500_2008_Strict);

// نمونه‌سازی کلاس Presentation که نمایانگر یک فایل ارائه است.
Presentation presentation = new Presentation();
try {
    // ارائه را در فرمت Strict Office Open XML ذخیره کنید.
    presentation.save("StrictOfficeOpenXml.pptx", SaveFormat.Pptx, options);
} finally {
    presentation.dispose();
}

ذخیرهٔ ارائه‌ها در فرمت Office Open XML در حالت Zip64

یک فایل Office Open XML یک آرشیو ZIP است که محدودیت ۴ گیگابایت (۲^۳۲ بایت) برای اندازهٔ فشرده‌نشدهٔ هر فایل، اندازهٔ فشردهٔ هر فایل و اندازهٔ کل آرشیو دارد و همچنین تعداد فایل‌ها را به ۶۵٬۵۳۵ (۲^۱۶‑۱) محدود می‌کند. افزونه‌های فرمت ZIP64 این محدودیت‌ها را به ۲^۶۴ ارتقاء می‌دهند.

متد IPptxOptions.setZip64Mode به شما امکان می‌دهد زمان استفاده از افزونه‌های فرمت ZIP64 را هنگام ذخیرهٔ یک فایل Office Open XML انتخاب کنید.

این متد می‌تواند با حالت‌های زیر استفاده شود:

  • IfNecessary فقط در صورتی که ارائه محدودیت‌های فوق را تجاوز کند از افزونه‌های فرمت ZIP64 استفاده می‌کند. این حالت پیش‌فرض است.
  • Never هرگز از افزونه‌های فرمت ZIP64 استفاده نمی‌کند.
  • Always همیشه از افزونه‌های فرمت ZIP64 استفاده می‌کند.

کد زیر نشان می‌دهد چگونه یک ارائه را به عنوان PPTX با فعال کردن افزونه‌های فرمت ZIP64 ذخیره کنید:

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setZip64Mode(Zip64Mode.Always);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("OutputZip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    presentation.dispose();
}

ذخیرهٔ ارائه‌ها بدون به‌روزرسانی تصویر بندانگشتی

متد PptxOptions.setRefreshThumbnail کنترل ایجاد تصویر بندانگشتی هنگام ذخیرهٔ یک ارائه به PPTX را دارد:

  • اگر به true تنظیم شود، تصویر بندانگشتی در طول ذخیره به‌روز می‌شود. این حالت پیش‌فرض است.
  • اگر به false تنظیم شود، تصویر بندانگشتی جاری حفظ می‌شود. اگر ارائه تصویر بندانگشتی نداشته باشد، هیچ تصویری تولید نمی‌شود.

در کد زیر، ارائه بدون به‌روزرسانی تصویر بندانگشتی به PPTX ذخیره می‌شود.

PptxOptions pptxOptions = new PptxOptions();
pptxOptions.setRefreshThumbnail(false);

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Output.pptx", SaveFormat.Pptx, pptxOptions);
}
finally {
    presentation.dispose();
}

ذخیره‌سازی به‌روزرسانی‌های پیشرفت به درصد

رابط IProgressCallback از طریق متد setProgressCallback که توسط رابط ISaveOptions و کلاس انتزاعی SaveOptions ارائه می‌شود، استفاده می‌شود. با تخصیص یک پیاده‌سازی از IProgressCallback به setProgressCallback می‌توانید به‌روزرسانی‌های پیشرفت ذخیره‌سازی را به‌صورت درصد دریافت کنید.

قطعه کدهای زیر نشان می‌دهند چگونه از IProgressCallback استفاده کنید.

ISaveOptions saveOptions = new PdfOptions();
saveOptions.setProgressCallback(new ExportProgressHandler());

Presentation presentation = new Presentation("Sample.pptx");
try {
    presentation.save("Output.pdf", SaveFormat.Pdf, saveOptions);
} finally {
    presentation.dispose();
}
class ExportProgressHandler implements IProgressCallback {
    public void reporting(double progressValue) {
        // در اینجا از مقدار درصد پیشرفت استفاده کنید.
        int progress = (int) progressValue;

        System.out.println(progress + "% of the file has been converted.");
    }
}

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

آیا «ذخیره سریع» (ذخیره افزایشی) پشتیبانی می‌شود به‌گونه‌ای که فقط تغییرات نوشته شوند؟

خیر. هر بار ذخیره‌سازی یک فایل کامل هدف را ایجاد می‌کند؛ «ذخیره سریع» افزایشی پشتیبانی نمی‌شود.

آیا ذخیرهٔ همزمان یک شیء Presentation از چندین رشته ایمن است؟

خیر. یک شیء [Presentation] ایمن برای چندنخی نیست; آن را از یک رشته واحد ذخیره کنید.

وقتی ذخیره می‌شود، چه اتفاقی برای پیوندهای ابرمتن و فایل‌های به‌صورت خارجی لینک‌شده می‌افتد؟

Hyperlinks حفظ می‌شوند. فایل‌های لینک‌شدهٔ خارجی (مثلاً ویدیوها با مسیرهای نسبی) به‌صورت خودکار کپی نمی‌شوند — اطمینان حاصل کنید مسیرهای ارجاع‌شده در دسترس باقی بمانند.

آیا می‌توانم ویژگی‌های متادیتای سند (نویسنده، عنوان، شرکت، تاریخ) را تنظیم/ذخیره کنم؟

بله. ویژگی‌های سند استاندارد پشتیبانی می‌شوند و هنگام ذخیره‌سازی به فایل نوشته می‌شوند.