PHP 生成 ppt,PHP导出PPT方法,PowerPoint/PhpPresentation处理
之前做了一个PPT导出的功能,去网上找了一些教程 发现都不是很详细,在这里详细说一下。 GitHub地址:https://github.com/PHPOffice/PHPPresentation 首先加载类是必须的,这里就不详细说了,直接进入代码:
//新建一个对象,每个人放的位置不同,用命名空间也可以
$objPHPPowerPoint = new \PhpOffice\PhpPresentation\PhpPresentation();
//获取当前页的幻灯片(也可以看做第一页)
$shape = $currentSlide->createDrawingShape();
// 添加文本框
$shape = $currentSlide->createRichTextShape()
->setHeight(150) //宽 (设置宽度后 自动缩放 )
->setOffsetX(370) // X 位置
->setOffsetY(180); // Y 位置
$shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER ); //水平居中
$textRun = $shape->createTextRun("XXXXXX\n\n检测报告"); //内容
$textRun->getFont()->setBold(false) //加粗
->setSize(38) //字号
->setName("黑体") //字体
->setColor( new Color( 'FF000000' ) ); //颜色
//添加一个图片
$shape = $currentSlide->createDrawingShape();
$shape->setName('社区图片') //图片名
->setDescription('社区图片') //描述
->setPath('111.jpg') //路径
->setWidth(250) //宽
->setOffsetX(100)
->setOffsetY(200);
//设置图片显示状态
$shape->getShadow()->setVisible(true)
->setDirection(45)
->setDistance(10);
简单的先说这两个吧,如果你添加多张的话可以用下面这个方法
$currentSlide = $objPHPPowerPoint->createSlide(); //在这行代码的后边直接添加图片或者文本框,多张幻灯片就循环一下
//然后保存
$oWriterPPTX = IOFactory::createWriter($objPHPPowerPoint, 'PowerPoint2007');
$oWriterPPTX->save(ROOT . 'myPhpPpt.pptx');
这种方式不会提示下载直接就到save()的路径下面了,若果提示保存的话应该在调用createWriter()前加上这样一段代码
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition:inline;filename=\"" . urlencode($order['order_name']). date('YmdHis') . ".pptx\"");
header("Content-Transfer-Encoding: binary");
header("Expires: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Pragma: no-cache");
最后的save()里的内容应该是‘php://output’; 需要注意的一点是,我列出来的这段代码最后不能
return $oWriterPPTX->save(‘php://output’);
return后页面会有一大串乱码,可以exit;
$oWriterPPTX->save(‘php://output’);
exit;
也可以读取某个PPT文件,用这个文件的模板生成ppt
//读取ppt
//ppt版本 2007
$pptReader = IOFactory::createReader('PowerPoint2007');
$oPHPPresentation =new \PhpOffice\PhpPresentation\PhpPresentation();
//读取文件
$oPHPPresentation = $pptReader->load(ROOT_PATH.'123.pptx');
//幻灯片的个数
$slidecount = $oPHPPresentation->getSlideCount();die;
//获取某张幻灯片 从0开始
$currentSlide = $oPHPPresentation->setActiveSlideIndex(2);
//这后面可以对此页的幻灯片进行操作,代码和新建一样,就不贴出来了
就说这么多吧,不是高玩(请轻喷),刚做的可以看下。
PHP 生成 ppt,PHP导出PPT方法,PowerPoint/PhpPresentation处理相关推荐
- Java 批量导出PPT为图片,并合并生成PDF
Java 批量导出PPT为图片,并合并生成PDF 最近有小伙伴需要把PPT打印,但苦于PPT太多,浪费纸张,所以特别写了这个合并多张PPT到一张A4纸上并生成PDF方便打印的程序: 前期准备 把PPT ...
- 如何在ppt中生成柱状图_在ppt中做柱状图的方法图解步骤
ppt中经常用到图表,比如柱形图.圆饼图等,这些图就是基于一定的数据建立起来的,所以我们得先建立数据表格然后才能生成图表,为此 学习啦小编为你准备了在ppt中做柱状图的方法,希望对你有所帮助. 在pp ...
- python win32com批量导出.ppt/.pptx文件所有图片
环境:py2.7 要求: 1.先pip安装pywin32 pip install pywin32 2.这份代码最好和你的PPT文件放在同一目录下,且目录不能有中文名.如果要放在别的地方看代码注释,效果 ...
- windows上ppt转图片的方法
最简单通用的方法就是使用POI来转换,但是转换的图片清晰度很低,即使调高了倍数还是和原图有差距,而且随着设置图片倍数的提高内存占用也变得十分巨大,在IDEA中甚至会出现OOM的情况.下面贴一下使用PO ...
- wps怎么把ppt里的字体一起保存_干货 | 如何快速导出PPT中的文字内容?
原标题:干货 | 如何快速导出PPT中的文字内容? 我们经常需要将某些PPT演示文稿的文字部分导出到Word进行处理,但如果使用"创建讲义"的功能,则只是将幻灯片和备注同时导出到W ...
- java使用poi导出ppt图表——环形图/空心饼图
目录 前言 使用java poi导出图表,就是找不到环形图/空心饼图怎么做的(或者是我没找到),找到的都是饼图,柱图,线图等. 所以就简单说一下怎么导出的. 一.导入poi相关jar包 二.先创建ex ...
- java利用poi生成pptx格式的ppt
最近开发了一个自定义ppt模板生成ppt的需求,记录一个小demo 官方文档 ppt文档链接 w3c的文档ppt文档 1.首先打入poi的maven依赖 <!-- https://mvnrepo ...
- wps中ppt转html,wps ppt转换视频 dps转换ppt/ppt转视频的方法
大家对PPT并不陌生吧,生活工作中随时能看到用到,而PPT转视频更是一大突破,方便放入移动设备播放或上传各大视频网站分享.刻录成盘收藏等,实用性相当强.狸窝PPT转换视频软件就能批量将Microsof ...
- 怎么把ppt转成pdf?PPT转PDF简单方法分享
我们平时在工作办公的时候,Word,Excel,PPT,PDF这些文件格式都会经常用到,文件格式之间的转换也会经常碰到.PPT是我们在演讲或开会时会经常用到的,但是有时候我们在其他设备上打开,它可能会 ...
- 不知道PPT转PDF简单方法有哪些?三个方法让你知道PPT转PDF怎么转
我们有时候制作了一个演示文稿,想要把它发送到其它地方进行讲解的准备,但是我们发现在传输前后,部分PPT的内容.排版等会出现变化,这个时候就有朋友想知道,有什么办法可以避免这种情况的发生吗?其实是有的, ...
最新文章
- Embedded Linux Primer----嵌入式Linux基础教程--导论
- 如何才能在SQL查询器中使用语句查询出表的列名及数据类型(包括类型和长度)...
- Oracle 锁表查询和解锁方法
- java基础[多态基础,多态数组,多态参数方法]
- html a hover css,CSS中的a:hover表示什么
- python3.7-secrets模块
- mysql中dml全称是什么_MySQL中的DML、DDL、DCL是什么意思
- 蓝桥杯精选赛题系列——统计数字
- 第一篇 安卓系统的介绍及特点
- java使用poi读取Excel2003版(.xls)
- 机器学习教程 三.回归理论及代码实现
- NOI2015 Day1 T2 软件包管理器 树链剖分
- umijs介绍及基本用法、配置式路由、约定式路由、路由传参等
- Failed to start component 异常解决方案
- 解决pycrypto无法安装,以及爬虫实战
- 大数据时代,华为云BI助力企业挖掘数据“宝藏”
- 浅谈JDK8相对于JDK7的一些新特性
- 安装武器(pycharm,Anaconda)
- python里的非_python中逻辑非
- java输入长宽高计算表面积_设计一个C语言程序计算长方体体积和表面积,如何通过键盘输入长宽高?...
热门文章
- python 方差齐性检验_SPSS方差齐性检验(图文+视频教程)
- 《机器学习算法竞赛实战》学习笔记1.竞赛简介
- M语言简单示例--网页数据抓取
- ESD-PCIe 402-1 CAN卡驱动安装及测试
- http系列---Apache AB测试工具
- iTerm2使用zmodem协议上传下载文件
- 输入关键字生成对联_输入真实名字自动生成网名,名字对联自动生成
- 输入关键字生成对联_对联生成器在线生成_对联在线自动生成器下载V1.0.0|好特下载...
- 快速理解卷积神经网络VGG16/VGG19,以及每个模块的作用及意义。
- 活动报名场地预约自定义表单小程序开发