Сохранить Презентацию
Обзор
Класс 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();
}
ПРИМЕЧАНИЕ
Сохранение в режиме Zip64Mode.Never вызовет PptxException, если презентацию нельзя сохранить в формате ZIP32.Обновления Прогресса Сохранения в Процентах
Новый интерфейс 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 + "% файл конвертирован");
}
}