用 C++ 创建演示文稿
概述
本文展示了如何在 Aspose.Slides 中创建演示文稿、在其第一张幻灯片上添加文本框并将结果保存为文件。文末的简短 FAQ 覆盖了格式、模板、幻灯片尺寸、单位、内存使用、线程、授权、数字签名以及 VBA 支持等常见问题。
在开始之前,请将 Aspose.Slides 添加到项目中:在 Windows 上的 Visual Studio 项目中通过 NuGet,或在 Linux 上使用 CMake 从 ZIP 包安装。参见安装。
创建 PowerPoint 演示文稿
要创建演示文稿并在第一张幻灯片上放置文本框,请按以下步骤操作:
- 创建Presentation类的实例。新演示文稿已经包含一个空幻灯片。
- 使用Presentation::get_Slide方法获取该幻灯片及其索引 0。
- 使用IShapeCollection::AddAutoShape方法添加矩形,并使用ITextFrame::set_Text方法设置其文本。
- 使用Presentation::Save方法将演示文稿保存为 PPTX 文件。
#include <DOM/Presentation.h>
#include <DOM/ISlide.h>
#include <DOM/IShapeCollection.h>
#include <DOM/IAutoShape.h>
#include <DOM/ITextFrame.h>
#include <DOM/ShapeType.h>
#include <Export/SaveFormat.h>
#include <system/smart_ptr.h>
using namespace Aspose::Slides;
using namespace Aspose::Slides::Export;
using namespace System;
int main()
{
auto presentation = MakeObject<Presentation>();
auto slide = presentation->get_Slide(0);
auto shape = slide->get_Shapes()->AddAutoShape(ShapeType::Rectangle, 50, 50, 400, 100);
shape->get_TextFrame()->set_Text(u"Hello, Aspose.Slides!");
presentation->Save(u"hello.pptx", SaveFormat::Pptx);
presentation->Dispose();
return 0;
}
矩形的左上角距幻灯片左边缘和上边缘各 50 点,宽度为 400 点,高度为 100 点。程序将 hello.pptx 保存到工作目录,文件中只有一张包含该矩形及其文本的幻灯片。未授权时,Aspose.Slides 还会在每张保存的幻灯片上添加评估水印;参见授权。
常见问题
可以将新演示文稿保存为什么格式?
您可以保存为PPTX, PPT, and ODP,并导出为PDF、XPS、HTML、SVG和图像,等等。
我可以从模板 (POTX/POTM) 开始并保存为普通 PPTX 吗?
可以。加载模板后保存为所需格式;POTX/POTM/PPTM 等格式受支持。
创建演示文稿时如何控制幻灯片大小/宽高比?
设置幻灯片大小(包括 4:3、16:9 等预设或自定义尺寸),并选择内容的缩放方式。
大小和坐标使用什么单位?
使用点(points):1 英寸等于 72 个点。
如何处理包含大量媒体文件的超大演示文稿以降低内存使用?
使用BLOB management strategies,通过临时文件限制内存存储,并优先使用基于文件的工作流而非纯内存流。
能否并行创建/保存演示文稿?
不能在多个多线程上操作同一个[Presentation]实例。每个线程或进程应使用独立的实例。
如何去除试用水印和限制?
在每个进程中应用许可证一次。许可证 XML 必须保持未修改,并在多线程环境下同步许可证设置。
我可以为创建的 PPTX 添加数字签名吗?
可以。支持演示文稿的数字签名(添加和验证)。
在创建的演示文稿中是否支持宏(VBA)?
可以。您可以创建/编辑 VBA 项目并保存为支持宏的文件,例如 PPTM/PPSM。