chriskapp / phppresentation
PHPPresentation - 使用PHP读取、创建和写入演示文稿文档
1.1.0
2024-03-20 13:02 UTC
Requires
- php: ^7.1|^8.0
- ext-xml: *
- ext-zip: *
- phpoffice/common: ^1
- phpoffice/phpspreadsheet: ^1.9.0
Requires (Dev)
- phpmd/phpmd: 2.*
- phpstan/phpstan: ^0.12.88 || ^1.0.0
- phpunit/phpunit: >=7.0
Suggests
- ext-gd: Required to add images
This package is not auto-updated.
Last update: 2024-09-19 13:37:54 UTC
README
PHPPresentation 是一个纯PHP编写的库,提供了一系列类来写入不同的演示文稿文件格式,例如微软的Office Open XML(OOXML或OpenXML)或OASIS的开放文档格式(OpenDocument或ODF)。
PHPPresentation 是一个开源项目,遵循LGPL版本3的条款。PHPPresentation 通过集成持续集成和单元测试,旨在成为一款高质量的软件产品。您可以通过阅读开发者文档和API文档来了解更多关于PHPPresentation的信息。
了解更多关于PHPPresentation的信息
功能
- 创建内存中的演示文稿表示
- 设置演示文稿元数据(作者、标题、描述等)
- 从头开始或从现有演示文稿添加幻灯片
- 支持不同的字体和字体样式
- 支持不同的格式、样式、填充、渐变
- 支持超链接和富文本字符串
- 以不同的样式(定位、旋转、阴影)添加图片
- 设置打印选项(页眉、页脚、页面边距、纸张大小、方向)
- 设置幻灯片之间的切换效果
- 输出到不同的文件格式:PowerPoint 2007 (.pptx)、OpenDocument Presentation (.odp)、序列化演示文稿
- ...以及更多!
要求
PHPPresentation 需要以下条件
- PHP 7.1+
- ZIP 扩展
- XML 解析器扩展
- XMLWriter 扩展(可选,用于写入DOCX和ODT)
- GD 扩展
安装
Composer 方法
建议您通过 composer 安装 PHPPresentation 库。为此,请在您的 composer.json
文件中添加以下行。
{ "require": { "phpoffice/phppresentation": "dev-master" } }
手动下载方法
或者,您也可以从 发布页面 下载最新版本。在这种情况下,您需要注册自动加载器。(仅当您在项目中不使用 composer 时才需要注册自动加载。)
require_once 'path/to/PhpPresentation/src/PhpPresentation/Autoloader.php'; \PhpOffice\PhpPresentation\Autoloader::register();
您还需要从其 发布页面 下载最新的 PHPOffice/Common 版本。同样,您也需要注册其自动加载器。
require_once 'path/to/PhpOffice/Common/src/Common/Autoloader.php'; \PhpOffice\Common\Autoloader::register();
入门
以下是PHPPresentation库的基本使用示例。
// with your own install require_once 'src/PhpPresentation/Autoloader.php'; \PhpOffice\PhpPresentation\Autoloader::register(); require_once 'src/Common/Autoloader.php'; \PhpOffice\Common\Autoloader::register(); // with Composer require_once 'vendor/autoload.php'; use PhpOffice\PhpPresentation\PhpPresentation; use PhpOffice\PhpPresentation\IOFactory; use PhpOffice\PhpPresentation\Style\Color; use PhpOffice\PhpPresentation\Style\Alignment; $objPHPPowerPoint = new PhpPresentation(); // Create slide $currentSlide = $objPHPPowerPoint->getActiveSlide(); // Create a shape (drawing) $shape = $currentSlide->createDrawingShape(); $shape->setName('PHPPresentation logo') ->setDescription('PHPPresentation logo') ->setPath('./resources/phppowerpoint_logo.gif') ->setHeight(36) ->setOffsetX(10) ->setOffsetY(10); $shape->getShadow()->setVisible(true) ->setDirection(45) ->setDistance(10); // Create a shape (text) $shape = $currentSlide->createRichTextShape() ->setHeight(300) ->setWidth(600) ->setOffsetX(170) ->setOffsetY(180); $shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER ); $textRun = $shape->createTextRun('Thank you for using PHPPresentation!'); $textRun->getFont()->setBold(true) ->setSize(60) ->setColor( new Color( 'FFE06B20' ) ); $oWriterPPTX = IOFactory::createWriter($objPHPPowerPoint, 'PowerPoint2007'); $oWriterPPTX->save(__DIR__ . "/sample.pptx"); $oWriterODP = IOFactory::createWriter($objPHPPowerPoint, 'ODPresentation'); $oWriterODP->save(__DIR__ . "/sample.odp");
更多示例请参阅示例文件夹。您还可以阅读开发者文档和API 文档以获取更多详细信息。
贡献
我们欢迎所有人为PHPPresentation做出贡献。以下是一些您可以做的事情来贡献
- 阅读我们的贡献指南
- Fork我们并向develop分支请求合并
- 向GitHub提交错误报告或功能请求
- 关注@PHPOffice在Twitter