首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
Web开发
> 详细
php phppowerpoint
时间:
2015-03-20 18:19:50
阅读:
407
评论:
0
收藏:
0
[点我收藏+]
标签:
今天早上从订阅的 Zend DevZone 看到篇很有意思的文章.
Creating PowerPoint 2007 files using PHP
. 试了一下. 果然很又意思, 分享给大家吧.
程序需要 PHP 5.2 以上环境, 另外需要 php_zip 和 php_xml 扩展模块支持. 另外需要下载 PHPPowerPoint 类库. 官方网站地址:
http://phppowerpoint.codeplex.com/
目前稳定版本是 0.1.0
这里已经下载好了. 各位可以直接同示例代码一起在本站下载. 我已打好包.
点击这里下载示例包
. 另外一个官方发原始包带了API文档还有官方的示例程序的也放出来
官方包下载
.
说一下感觉吧. 这个类库还可以. 编码很规范. 完全PHP5的风格. 我喜欢的类型. 和 Zend Framework 一样. 处理速度也非常快. 本次只做了简单才测试. 更多高级功能未花时间去玩. 帖一下测试代码吧.
<?php
/**
* PHP 生成 PowerPoint 2007 示例脚本.
*
* 本程序需要 PHP 5.2 以上版本, 需要 php_zip 和 php_xml 扩展支持.
* 通常WIN下程序只要打开 php_zip 扩展即可, php_xml 扩展内置支持.
* Linux 下需要根据编译条件具体调整.
*
* @author: Guya
* @since: 2009-4-30
*/
//目录分割符号
define(
‘DS‘, DIRECTORY_SEPARATOR);
//定义根目录
define(
‘ROOT‘, dirname(
__FILE__) . DS);
//修改include路径, PHPPowerPoint 包放在当前目录的 libs 目录下.
set_include_path(get_include_path() . PATH_SEPARATOR . ROOT .
‘libs‘);
//不限制脚本运行时间限制.
set_time_limit(0);
//简单设置自动载入函数.
function __autoload(
$className) {
include_once(
str_replace(
"_", DS,
$className) .
".php");
}
//新建立一个 PHPPowerPoint 对象.
$ppp =
new PHPPowerPoint();
//获取当前使用的一页幻灯片
$activeSlide =
$ppp->getActiveSlide();
//添加一个图片到幻灯片.
$shape =
$activeSlide->createDrawingShape();
//设置图片名称.
$shape->setName(
‘MmClub.net Logo‘);
//设置图片的描述信息.
$shape->setDescription(
‘MmClub.net Logo‘);
//图片实际路径
$shape->setPath(ROOT .
‘mmclub.net.jpg‘);
//图片高度
$shape->setHeight(103);
//设置图片宽度
$shape->setWidth(339);
//设置图片相对于左上角X位置, 单位像素
$shape->setOffsetX(10);
//设置图片相对于左上角Y位置, 单位像素
$shape->setOffsetY(10);
//设置图显示状态
$shape->getShadow()->setVisible(true);
$shape->getShadow()->setDirection(45);
$shape->getShadow()->setDistance(10);
//设置一个文本框
$shape =
$activeSlide->createRichTextShape();
//设置文本框高度, 单位像素
$shape->setHeight(150);
//设置文本框宽度, 单位像素
$shape->setWidth(600);
//设置文本框相对于左上角X位置, 单位像素
$shape->setOffsetX(150);
//设置文本框相对于左上角Y位置, 单位像素
$shape->setOffsetY(200);
//设置文本布局位置为水平居中, 垂直居中.
$shape->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER );
$shape->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
//设置文本框文本内容. 在中文环境下测试没中文问题. 如果在 e 文环境. 注意要指定支持中文的字体. 否则可能出乱码了.
$textRun =
$shape->createTextRun(
‘欢迎使用 PHPPowerPoint2007‘);
//使用字体加粗
$textRun->getFont()->setBold(true);
//设置字体尺寸为 38, 这里注意一下文字的大小设置. 前面的文本框的大小是固定的. 如果文字超出的容器会被出容器被排到下面
$textRun->getFont()->setSize(38);
//设置文字颜色, 这里是ARGB模式 , 16进制模式, 前面2位为透明度, 后面为RGB值. 这里设置为 blue蓝色
$textRun->getFont()->setColor(
new PHPPowerPoint_Style_Color(
‘FFFF0000‘ ) );
//下面再设置几个文本框
$shape0 =
$activeSlide->createRichTextShape();
$shape0->setHeight(50);
$shape0->setWidth(400);
$shape0->setOffsetX(250);
$shape0->setOffsetY(400);
$shape0->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER );
$shape0->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
$textRun0 =
$shape0->createTextRun(
‘http://www.mmclub.net‘);
$textRun0->getFont()->setSize(26);
$textRun0->getFont()->setColor(
new PHPPowerPoint_Style_Color(
‘FF0000FF‘ ) );
$shape1 =
$activeSlide->createRichTextShape();
$shape1->setHeight(30);
$shape1->setWidth(200);
$shape1->setOffsetX(700);
$shape1->setOffsetY(500);
$shape1->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT );
$shape1->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
$textRun1 =
$shape1->createTextRun(
‘Author: Guya‘);
$textRun1->getFont()->setSize(14);
$textRun1->getFont()->setColor(
new PHPPowerPoint_Style_Color(
‘FF000000‘ ) );
$shape2 =
$activeSlide->createRichTextShape();
$shape2->setHeight(30);
$shape2->setWidth(200);
$shape2->setOffsetX(700);
$shape2->setOffsetY(540);
$shape2->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT );
$shape2->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER );
$textRun2 =
$shape2->createTextRun(
‘Date: 2009-4-30‘);
$textRun2->getFont()->setSize(14);
$textRun2->getFont()->setColor(
new PHPPowerPoint_Style_Color(
‘FF000000‘ ) );
//保存PPTX 文件, 使用 2007 格式
$objWriter = PHPPowerPoint_IOFactory::createWriter(
$ppp,
‘PowerPoint2007‘);
//保存文件
$objWriter->save(ROOT .
‘myPhpPpt.pptx‘);
echo
‘ppt create success!‘;
?>
这个东西的应用前景的话. 在WEB的某些场合还是很有用的. 需要的朋友可以多花点时间去研究了.
本文来源:
http://blog.mmclub.net/index/view/article_id/89
网上几乎很少有相关资料,找了好久,拿上来跟大家分享,同时感谢作者,。
php phppowerpoint
标签:
原文地址:http://www.cnblogs.com/liuwenbohhh/p/4354193.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
36.VUE — 认识 Webpack 和 安装
2021-07-28
【PHP】上传图片翻转问题
2021-07-28
php对数字进行万。亿的转化
2021-07-28
五个 .NET 性能小贴士
2021-07-28
Three.js中显示坐标轴、平面、球体、四方体
2021-07-28
.net 5+ 知新:【1】 .Net 5 基本概念和开发环境搭建
2021-07-27
1.html,css
2021-07-27
基于Docker搭建 Php-fpm + Nginx 环境
2021-07-27
nginx + http + svn
2021-07-27
kubernets kube-proxy的代理 iptables和ipvs
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!