php ppt read_PHP生成PPT

这篇博客介绍了如何利用PhpPresentation插件通过PHP来创建PPT。文章中提供了详细的步骤,包括添加Composer依赖,设置幻灯片内容,以及保存和下载生成的PPT文件。
摘要由CSDN通过智能技术生成

## 采用 PhpPresentation 插件生成PPT

下载方式 composer , composer.json里面增加, 然后 composer update

```

"require": {

"phpoffice/phppresentation": "dev-master"

},

```

git 地址: [https://github.com/PHPOffice/PHPPresentation](https://link.jianshu.com/?t=https%3A%2F%2Fgithub.com%2FPHPOffice%2FPHPPresentation)

手册地址:[http://phppowerpoint.readthedocs.io/en/latest/](https://link.jianshu.com/?t=http%3A%2F%2Fphppowerpoint.readthedocs.io%2Fen%2Flatest%2F)

demo

```

~~~

use PhpOffice\PhpPresentation\PhpPresentation;

use PhpOffice\PhpPresentation\IOFactory;

use PhpOffice\PhpPresentation\Style\Color;

use PhpOffice\PhpPresentation\Style\Alignment;

class PhpOffice1

{

public function index()

{

// 2.创建ppt对象

$objPHPPowerPoint = new PhpPresentation();

// 3.设置属性

$objPHPPowerPoint->getDocumentProperties()->setCreator('PHPOffice')

->setLastModifiedBy('PHPPresentation Team')

->setTitle('Sample 02 Title')

->setSubject('Sample 02 Subject')

->setDescription('Sample 02 Description')

->setKeywords('office 2007 openxml libreoffice odt php')

->setCategory('Sample Category');

// 4.删除第一页(多页最好删除)

$objPHPPowerPoint->removeSlideByIndex(0);

//根据需求 调整for循环

for ($i = 1; $i <= 3; $i++) {

//创建幻灯片并添加到这个演示中

$slide = $objPHPPowerPoint->createSlide();

//创建一个形状(图)

$shape = $slide->createDrawingShape();

$shape->setName('内容图片name')

->setDescription('内容图片 描述')

->setPath(WEB_PATH . '/uploads/img/background.jpg')

->setResizeProportional(false)

->setHeight(720)

->setWidth(960);

//创建一个形状(文本)

$shape = $slide->createRichTextShape()

->setHeight(60)

->setWidth(960)

->setOffsetX(10)

->setOffsetY(50);

$shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_CENTER);

$textRun = $shape->createTextRun('以后这个就是标题了');

$textRun->getFont()->setBold(true)

->setSize(20)

->setColor(new Color('FFE06B20'));

// 创建一个形状(文本)

$shape = $slide->createRichTextShape()

->setHeight(60)

->setWidth(960)

->setOffsetX()

->setOffsetY(700);

$shape->getActiveParagraph()->getAlignment()->setHorizontal(Alignment::HORIZONTAL_RIGHT);

$textRun = $shape->createTextRun('时间:2017年10月19号');

$textRun->getFont()->setBold(true)

->setSize(10)

->setColor(new Color('FFE06B20'));

}

$oWriterPPTX = IOFactory::createWriter($objPHPPowerPoint, 'PowerPoint2007');

//路径 /uploads/ppt/ 必须存在

$url = WEB_PATH . "/uploads/ppt/" . time() . ".pptx";

//生成PPT

$oWriterPPTX->save($url);

//下载PPT

download($url);

//删除PPT

deldir($url);

exit;

}

}

function download($file)

{

if(file_exists($file)){

header("Content-type:application/octet-stream");

$filename = basename($file);

header("Content-Disposition:attachment;filename = ".$filename);

header("Accept-ranges:bytes");

header("Accept-length:".filesize($file));

readfile($file);

}else{

echo "";

}

}

//删除文件

function deldir($dir)

{

unlink($dir);

closedir($dir);

}

~~~

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值