phpoffice/phppowerpoint

此软件包已被废弃,不再维护。作者建议使用 phpoffice/phppresentation 软件包。

PHPPresentation - 在 PHP 中读取、创建和写入演示文稿文档

1.1.0 2024-09-01 07:45 UTC

This package is auto-updated.

Last update: 2024-09-12 13:48:17 UTC


README

Latest Stable Version Coverage Status Total Downloads License

分支 Master : PHPPresentation

PHPPresentation 是一个纯 PHP 编写的库,提供了一组用于写入不同演示文稿文件格式的类,即 Microsoft Office Open XML (OOXML 或 OpenXML) 或 OASIS Open Document Format for Office Applications (OpenDocument 或 ODF)。

PHPPresentation 是一个开源项目,根据 LGPL 版本 3 许可。PHPPresentation 通过结合 持续集成单元测试,旨在成为一款高质量的软件产品。您可以通过阅读 开发者文档API 文档 了解更多关于 PHPPresentation 的信息。

了解更多关于 PHPPresentation 的信息

功能

  • 创建内存中的演示文稿表示
  • 设置演示文稿元数据(作者、标题、描述等)
  • 从头开始或从现有演示文稿添加幻灯片
  • 支持不同字体和字体样式
  • 支持不同格式、样式、填充、渐变
  • 支持超链接和富文本字符串
  • 以不同样式添加图片(位置、旋转、阴影)
  • 设置打印选项(页眉、页脚、页边距、纸张大小、方向)
  • 设置幻灯片间的过渡效果
  • 输出到不同的文件格式:PowerPoint 2007 (.pptx)、OpenDocument Presentation (.odp)、序列化演示文稿
  • ... 以及更多!

要求

PHPPresentation 需要以下内容

安装

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 做出贡献。以下是一些您可以做的事情来贡献