在 PHP 中创建演示文稿
Contents
[
Hide
]
创建演示文稿
要在演示文稿的选定幻灯片中添加一条简单的直线,请按照以下步骤操作:
- 创建 Presentation 类的实例。
- 使用索引获取幻灯片的引用。
- 通过 Shapes 对象提供的 addAutoShape 方法,添加类型为 Line 的 AutoShape。
- 将修改后的演示文稿写入为 PPTX 文件。
在下面的示例中,我们在演示文稿的第一张幻灯片上添加了一条直线。
# 实例化一个表示演示文稿文件的 Presentation 对象
$pres = new Presentation();
try {
# 获取第一张幻灯片
$slide = $pres->getSlides()->get_Item(0);
# 添加类型为 line 的 AutoShape
$slide->getShapes()->addAutoShape(ShapeType::Line, 50, 150, 300, 0);
$pres->save("NewPresentation_out.pptx", SaveFormat::Pptx);
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
常见问题
我可以将新的演示文稿保存为什么格式?
您可以保存为 PPTX, PPT, and ODP,并导出为 PDF、XPS、HTML、SVG,以及 images,等。
我可以从模板(POTX/POTM)开始并保存为普通的 PPTX 吗?
可以。加载模板并保存为所需格式;POTX/POTM/PPTM 等类似格式 are supported。
在创建演示文稿时,如何控制幻灯片尺寸/宽高比?
设置 slide size(包括 4:3、16:9 等预设或自定义尺寸),并选择内容的缩放方式。
尺寸和坐标使用什么单位测量?
使用点(points)单位:1 英寸等于 72 单位。
如何处理包含大量媒体文件的超大型演示文稿以降低内存使用?
使用 BLOB management strategies;通过使用临时文件限制内存存储;并倾向于基于文件的工作流,而非纯内存流。
我可以并行创建/保存演示文稿吗?
不能在 多个线程 中操作同一个 Presentation 实例。请为每个线程或进程运行独立的实例。
如何移除试用版水印和限制?
每个进程只需 Apply a license 一次。许可证 XML 必须保持未修改;如果涉及多个线程,则应同步许可证设置。
我可以对创建的 PPTX 进行数字签名吗?
可以。支持对演示文稿进行 Digital signatures(添加和验证)。
在创建的演示文稿中是否支持宏(VBA)?
可以。您可以 create/edit VBA projects 并保存为支持宏的文件,如 PPTM/PPSM。