Сохранить Презентацию - Библиотека C++ PowerPoint
Информация
Чтобы узнать, как открыть или загрузить презентации, смотрите статью Открыть Презентацию.Статья здесь объясняет, как сохранять презентации.
Класс Presentation содержит содержимое презентации. Создавая презентацию с нуля или изменяя существующую, по окончании вы хотите сохранить презентацию. С Aspose.Slides для C++ она может быть сохранена как файл или поток. Эта статья объясняет, как сохранить презентацию различными способами:
Сохранить Презентацию в Файл
Сохраните презентацию в файлы, вызвав метод Save класса Presentation. Просто передайте имя файла и формат сохранения методу Save. Примеры, которые следуют, показывают, как сохранить презентацию с помощью Aspose.Slides для C++.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
const String outPath = u"../out/SaveToFile_out.ppt"; | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
//pres->get_ProtectionManager()->Encrypt(u"pass"); | |
//...do some work here.. | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Сохранить Презентацию в Поток
Можно сохранить презентацию в поток, передав выходной поток в метод сохранения класса Presentation . Существуют многие типы потоков, в которые можно сохранить презентацию. В приведенном ниже примере мы создали новый файл Презентации, добавили текст в форму и сохранили презентацию в поток.
const String outPath = u"../out/Save_As_Stream_out.pptx"; | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
SharedPtr<IAutoShape> shape = pres->get_Slides()->idx_get(0)->get_Shapes()->AddAutoShape(Aspose::Slides::ShapeType::Rectangle, 200, 200, 200, 200); | |
/// Load the video file to stream | |
System::SharedPtr<System::IO::Stream> stream = System::MakeObject<System::IO::FileStream>(outPath, System::IO::FileMode::Create); | |
pres->Save(stream, Aspose::Slides::Export::SaveFormat::Pptx); | |
Сохранить Презентацию с Предопределенным Типом Вида
Aspose.Slides для C++ предоставляет возможность установить тип вида для созданной презентации при ее открытии в PowerPoint через класс ViewProperties. Свойство LastView используется для установки типа вида с помощью перечисления ViewType.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
const String outPath = u"../out/SaveAsPredefinedViewType_out.ppt"; | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
pres->get_ViewProperties()->set_LastView(Aspose::Slides::ViewType::SlideMasterView); | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx); | |
Сохранить Презентацию в Строгом Формате Office Open XML
Aspose.Slides позволяет сохранять презентацию в строгом формате Office Open XML. Для этой цели он предоставляет класс PptxOptions, где вы можете установить свойство Conformance при сохранении файла презентации. Если вы установите его значение как Conformance.Iso29500_2008_Strict, то выходной файл презентации будет сохранен в строгом формате Office Open XML.
Следующий пример кода создает презентацию и сохраняет ее в строгом формате Office Open XML. При вызове метода Save для презентации объект PptxOptions передается с установленным свойством Conformance как Conformance.Iso29500_2008_Strict.
For complete examples and data files, please go to https://github.com/aspose-slides/Aspose.Slides-for-C | |
const String outPath = u"../out/SaveToStrictOpenXML_out.pptx"; | |
//Instantiate Presentation object | |
SharedPtr<Presentation> pres = MakeObject<Presentation>(); | |
//Access first slide | |
SharedPtr<ISlide> slide = pres->get_Slides()->idx_get(0); | |
// Add an AutoShape of Rectangle type | |
SharedPtr<IAutoShape> ashp = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 150, 75, 150, 50); | |
//Setting options for strick XML | |
SharedPtr<PptxOptions> options = MakeObject<PptxOptions>(); | |
options->set_Conformance(Conformance::Iso29500_2008_Strict); | |
//Save presentation | |
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx, options); | |
Сохранение Обновлений Прогресса в Процентах
Новый интерфейс IProgressCallback был добавлен в интерфейс ISaveOptions и абстрактный класс SaveOptions. Интерфейс IProgressCallback представляет объект обратного вызова для сохранения обновлений прогресса в процентах.
Ниже приведенные фрагменты кода показывают, как использовать интерфейс IProgressCallback:
const String templatePath = u"../templates/SamplePresentation.pptx"; | |
const String outPath = u"../out/SamplePresentation_out.pptx"; | |
auto presentation = System::MakeObject<Presentation>(templatePath); | |
System::SharedPtr<ISaveOptions> saveOptions = System::MakeObject<PdfOptions>(); | |
System::SharedPtr<IProgressCallback> callBack = System::MakeObject<ExportProgressHandler>(); | |
saveOptions->set_ProgressCallback(callBack); | |
presentation->Save(outPath, Aspose::Slides::Export::SaveFormat::Pdf, saveOptions); | |
class ExportProgressHandler : public IProgressCallback | |
{ | |
public: | |
void Reporting(double progressValue) | |
{ | |
System::Console::WriteLine(u"% completed", progressValue); | |
} | |
}; |