Сохранить Презентацию

Обзор

Класс Presentation содержит содержание презентации. Создавая презентацию с нуля или изменяя существующую, в конце концов, вам нужно сохранить презентацию. С Aspose.Slides для Java это можно сохранить как файл или поток. Эта статья объясняет, как сохранить презентацию разными способами:

Сохранить Презентацию в Файл

Сохраните презентацию в файл, вызвав метод Save класса Presentation. Просто передайте имя файла и SaveFormat в метод Save.

Примеры, которые следуют, показывают, как сохранить презентацию с Aspose.Slides для Java.

// Создайте объект Presentation, представляющий файл PPT
Presentation pres = new Presentation();
try {
    // ...выполните некоторые действия здесь...
    
    // Сохраните свою презентацию в файл
    pres.save("demoPass.pptx", com.aspose.slides.SaveFormat.Pptx);
} finally {
    if(pres != null) pres.dispose();
}

Сохранить Презентацию в Поток

Можно сохранить презентацию в поток, передав выходной поток в метод Save класса Presentation. Существует множество типов потоков, в которые можно сохранить презентацию. В приведенном ниже примере мы создали новый файл презентации, добавили текст в фигуру и сохранили презентацию в поток.

// Создайте объект Presentation, представляющий файл PPT
Presentation pres = new Presentation();
try {
    IAutoShape shape = pres.getSlides().get_Item(0).getShapes().addAutoShape(ShapeType.Rectangle, 200, 200, 200, 200);

    // Добавьте текст в фигуру
    shape.getTextFrame().setText("Этот демонстрационный пример показывает, как создать файл PowerPoint и сохранить его в поток.");

    OutputStream os = new FileOutputStream("Save_As_Stream_out.pptx");

    pres.save(os, com.aspose.slides.SaveFormat.Pptx);

    os.close();
} catch (IOException e) {
} finally {
    if (pres != null) pres.dispose();
}

Сохранить Презентацию с Предустановленным Типом Видения

Aspose.Slides для Java предоставляет возможность установить тип представления для созданной презентации, когда она открывается в PowerPoint через класс ViewProperties. Свойство setLastView используется для установки типа представления с помощью перечисления ViewType.

// Открытие файла презентации
Presentation pres = new Presentation();
try {
    // Установка типа представления
    pres.getViewProperties().setLastView((byte) ViewType.SlideMasterView);
    
    // Сохранение презентации
    pres.save("newDemo.pptx", SaveFormat.Pptx);
} finally {
    if (pres != null) pres.dispose();
}

Сохранение Презентаций в Строгом Формате Office Open XML

Aspose.Slides позволяет сохранять презентацию в строгом формате Office Open XML. Для этой цели предоставляется класс PptxOptions, где вы можете установить свойство Conformance при сохранении файла презентации. Если вы установите его значение как Conformance.Iso29500_2008_Strict, файл выходной презентации будет сохранен в строгом формате Open XML.

Следующий пример кода создает презентацию и сохраняет ее в строгом формате Office Open XML. При вызове метода Save для презентации объект PptxOptions передается ему с установленным свойством Conformance как Conformance.Iso29500_2008_Strict.

// Создайте объект Presentation, представляющий файл PPT
Presentation pres = new Presentation();
try {
    // Получите первый слайд
    ISlide slide = pres.getSlides().get_Item(0);
    
    // Добавьте автофигуру типа линия
    slide.getShapes().addAutoShape(ShapeType.Line, 50, 150, 300, 0);
    
    // Установите параметры сохранения в строгом формате Office Open XML
    PptxOptions options = new PptxOptions();
    options.setConformance(Conformance.Iso29500_2008_Strict);
    
    // Сохраните вашу презентацию в файл
    pres.save("demoPass.pptx", SaveFormat.Pptx, options);
} finally {
    if (pres != null) pres.dispose();
}

Сохранение Презентаций в Формате Office Open XML в Режиме Zip64

Файл Office Open XML представляет собой ZIP-архив, который имеет ограничение в 4 ГБ (2^32 байта) на не сжатый размер файла, сжатый размер файла и общий размер архива, а также ограничение в 65 535 (2^16-1) файлов в архиве. Расширения формата ZIP64 увеличивают эти пределы до 2^64.

Новое свойство IPptxOptions.Zip64Mode позволяет выбирать, когда использовать расширения формата ZIP64 для сохраненного файла Office Open XML.

Это свойство предоставляет следующие режимы:

  • Zip64Mode.IfNecessary означает, что расширения формата ZIP64 будут использоваться только в том случае, если презентация выходит за пределы вышеперечисленных ограничений. Это режим по умолчанию.
  • Zip64Mode.Never означает, что расширения формата ZIP64 не будут использованы.
  • Zip64Mode.Always означает, что расширения формата ZIP64 всегда будут использоваться.

Следующий код демонстрирует, как сохранить презентацию в формате PPTX с расширениями формата ZIP64:

Presentation pres = new Presentation("Sample.pptx");
try {
    PptxOptions pptxOptions = new PptxOptions();
    pptxOptions.setZip64Mode(Zip64Mode.Always);
    
    pres.save("Sample-zip64.pptx", SaveFormat.Pptx, pptxOptions);
} finally {
    if (pres != null) pres.dispose();
}

Обновления Прогресса Сохранения в Процентах

Новый интерфейс IProgressCallback был добавлен в интерфейс ISaveOptions и абстрактный класс SaveOptions . Интерфейс IProgressCallback представляет собой объект обратного вызова для обновлений прогресса сохранения в процентах.

Следующие примеры кода показывают, как использовать интерфейс IProgressCallback:

// Открытие файла презентации
Presentation pres = new Presentation("ConvertToPDF.pptx");
try {
    ISaveOptions saveOptions = new PdfOptions();
    saveOptions.setProgressCallback((IProgressCallback) new ExportProgressHandler());
    pres.save("ConvertToPDF.pdf", SaveFormat.Pdf, saveOptions);
} finally {
    pres.dispose();
}
class ExportProgressHandler implements IProgressCallback 
{
    public void reporting(double progressValue) 
	{
        // Используйте значение процента прогресса здесь
        int progress = Double.valueOf(progressValue).intValue();
        System.out.println(progress + "% файл конвертирован");
    }
}