PHP 生成 ppt,PHP生成PPT文件
public function exportPpt(Request $request){
$params = $request->input();
if ( !isset( $params['text'] ) || empty( $params['text'] )){
ajax_return(6001, '模块名称不能为空');
}
if ( !isset($params['images']) || empty($params['images']) ){
ajax_return(6002, '生成的内容不能为空');
}
//主标题
$textHeader = $params['text'];
$title = '';
$description = '';
//新建立一个 PHPPowerPoint 对象.
$objPHPPresentation = new PhpPresentation();
//获取当前使用的一页幻灯片
$currentSlide = $objPHPPresentation->getActiveSlide();
//设置一个文本框
$shape = $currentSlide->createRichTextShape()
->setHeight(100)
->setWidth(600)
->setOffsetX(170)
->setOffsetY(80);
$shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER );
$textRun = $shape->createTextRun($textHeader);
$textRun->getFont()->setBold(true)
->setSize(20)
->setColor( new Color('FFE06B20' ) );
//+++++++++循环生成文字与图片+++++++++++++++++++++++++++++++++++++++++++++
$images = $this->createImage($params['images']);
$imgY = 180;
$imgHeight = 450;
$textY = 100;
foreach ($images as $key => $value){
$currentSlide = $objPHPPresentation->createSlide();//创建空白ppt页
//添加一个图片到幻灯片.
$shape = $currentSlide->createDrawingShape();
//设置图片名称.
$shape->setName($title)
//设置图片的描述信息.
->setDescription($description)
//图片实际路径
->setPath($value['imgsrc'])//LOGO
->setWidth(700)
//图片高度
->setHeight($imgHeight)
//设置图片相对于左上角X位置, 单位像素
->setOffsetX(170)
//设置图片相对于左上角Y位置, 单位像素
->setOffsetY($imgY);
//设置图显示状态
$shape->getShadow()->setVisible(true)
->setDirection(0)
->setDistance(0);
//设置一个文本框
$shape = $currentSlide->createRichTextShape()
->setHeight(50)
->setWidth(600)
->setOffsetX(170)
->setOffsetY($textY);
$shape->getActiveParagraph()->getAlignment()->setHorizontal( Alignment::HORIZONTAL_CENTER );
$textRun = $shape->createTextRun($value['name']);
$textRun->getFont()->setBold(true)
->setSize(14)
->setColor( new Color('FFE06B20' ) );
}
$uploadPath = DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . 'file_ppt' . DIRECTORY_SEPARATOR ;
$savePath = public_path( $uploadPath );
if ( !is_dir( $savePath ) ){
make_dir($savePath) ;
}
//文件名称及路径
$pptName = date('YmdHis').'.pptx';
$odpName = date('YmdHis').'.odp';
$savePptPath = $savePath . $pptName ;
$saveOdpPath = $savePath . $odpName;
$oWriterPPTX = IOFactory::createWriter($objPHPPresentation, 'PowerPoint2007');
$oWriterPPTX->save($savePptPath);
$oWriterODP = IOFactory::createWriter($objPHPPresentation, 'ODPresentation');
$oWriterODP->save($saveOdpPath);
ajax_return(200, array('ppt_file'=> $uploadPath . $pptName, 'odp_file'=>$uploadPath.$odpName));
}
/**
* 处理ppt生成的内容
* @param $params
* @Auther Baiping
* 2018/8/21 16:07
*/
public function createImage($params)
{
$images = json_decode($params, true);
$imageSavePath = public_path(DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR . 'ppt_img'. DIRECTORY_SEPARATOR);
make_dir($imageSavePath);
$returnData = [];
foreach ($images as $key => $value){
$image = explode(',', $value['baseimage']);
$imageName = 'ppt_'.date('YmdHis',time()).'_'.rand(1000, 9999). '.png';
$savePath = $imageSavePath . DIRECTORY_SEPARATOR . $imageName;
file_put_contents($savePath, base64_decode($image[1]));
$returnData[] = [
'name' => $value['name'],
'imgsrc' => $savePath,
];
}
return $returnData;
}
PHP 生成 ppt,PHP生成PPT文件相关推荐
- ppt、pptx的文件自动批量生成缩略图
需求: 将当前日期对应的"年-月"格式的文件夹下所有ppt及pptx文件的第一张幻灯片批量生成图片: 每天定时执行一次,生成上次未生成的文件 方案: 建立脚本文件ppttojpg. ...
- 如何在ppt中生成柱状图_ppt中如何添加柱状图 - 卡饭网
在word文档中怎么添加柱状图?word制作柱状图方法介绍 在word文档中怎么添加柱状图?word制作柱状图方法介绍 我们在编辑word文档的时候,往往需要插入一些柱状图之类的图形,展示出多姿多彩的 ...
- 【ChatGPT】只需要2分钟,ChatGPT帮我生成了一份PPT
自从人工智能横空而出,它在人们的生活中产生了巨大的影响.尤其在企业办公领域,借助人工智能的力量,能够迅速产出丰富多样的内容,无论对于企业还是个人都具有重要的帮助. 想象一下,通过与人工智能的合作,您可 ...
- ppt拼图 批量生成 N多ppt一键生成拼图
我们办公中经常用到PPT插件islide里的PPT拼图,可以一个个手工把ppt生成ppt拼图效果,如果想批量把几十上百个ppt一次性生成拼图效果,islide就实现不了. 这是开发的PPT批量执行拼图 ...
- java利用poi生成pptx格式的ppt
最近开发了一个自定义ppt模板生成ppt的需求,记录一个小demo 官方文档 ppt文档链接 w3c的文档ppt文档 1.首先打入poi的maven依赖 <!-- https://mvnrepo ...
- ppt怎么生成预览图
ppt怎么生成预览图 如上图格式! 需要用到软件 1.Powerpoint 2.ISlide 如下图 ISlide软件下载地址 https://static.islide.cc/site/produc ...
- 利用人工智能自动生成架构图与PPT——ChatGPT训练营回顾
在面对复杂的系统时,我们往往会感到难以理解其结构和功能,更不知道从何开始制作架构图.在遇到年终总结等需要制作PPT的工作场景下,缺乏制图和排版技能也会成为制作过程中的一大难点. 别担心,借助ChatG ...
- 使用New Bing的GPT-4轻松生成科技风背景PPT图片
ChatGPT狂飙160天,世界已经不是之前的样子. 新建了人工智能中文站https://ai.weoknow.com 每天给大家更新可用的国内可用chatGPT资源 文章导读 大家好,我是数行天下, ...
- 把对像生成json并存储到文件
1.创建实体对像json import com.alibaba.fastjson.annotation.JSONField;import java.util.Date;public class Stu ...
- R语言R-markdown实战示例、R-markdown、R-markdown生成结果汇报的HTML文件
R语言R-markdown实战示例.R-markdown.R-markdown生成结果汇报的HTML文件 目录 R语言R-markdown实战示例.R-markdown.R-markdown生成结果汇 ...
最新文章
- 难忘的一天——装操作系统(一)
- BCELoss BCEWithLogitsLoss 多标签损失函数
- 年化收益14%的投资机会,出手吗?
- 火爆抖音!各路神仙齐唱《蚂蚁呀嘿》,带你探索背后的原理!
- SpringMVC杂记
- Processing Orders With Windows Workflow
- 基于深度学习的文本分类3
- npm install readline-sync:同步获取用户通过键盘输入的值(+算法实例)
- 四川大学2012年数学分析考研试题
- windows 运行banana
- FFmpeg之yuv裁剪(二十一)
- 预测nba本赛季球队夺冠的胜率并进行相关分析
- Win系统 - Windows10 系统恢复语言栏位置的方法(二)
- 优雅草YYC松鼠短视频2022年12月28日更新v5.1.6版本更新·修复因为消息提醒二开导致菜单栏无法显示·进一步完善推送
- 文案撰写方法三:制造反差
- 计算机社团感恩节免费维修周策划书,【关于感恩节的活动策划】大学感恩节活动策划案_早教感恩节活动策划方案_(2)_亲亲宝贝网...
- python对excel指定数据提取并保存到另一excel表中(一)
- JavaScript数据结构——图的实现
- Spring框架下载最新地址
- Tensorflow模型各部分自定义方式
热门文章
- python代码混淆
- 阿里代码规范检查工具的安装使用以及阿里代码格式化
- 华为版计算机软件,Huawei华为手机PC客户端软件
- 如何解决jsp中文乱码的问题
- 得到app文稿导出_得到APP使用报告
- Zmodem协议由浅入深
- pgAdmin3 连接GreenPlum数据库假死解决
- Arcmap出了问题--显示“ArcGIS Initializing Application”
- jquery weui 图片浏览器Photo Browser 如何使用?
- 企业级飞速低代码开发平台 | 产品介绍 | APass平台 | 全场景适用