使用

今天早上从订阅的 Zend DevZone 看到篇很有意思的文章. Creating PowerPoint 2007 files using

程序需要

这里已经下载好了. 各位可以直接同示例代码一起在本站下载. 我已打好包. 点击这里下载示例包. 另外一个官方发原始包带了API文档还有官方的示例程序的也放出来 官方包下载.

说一下感觉吧. 这个类库还可以. 编码很规范. 完全

  • /**
  • *
  • *
  • * 本程序需要
  • * 通常WIN下程序只要打开
  • * Linux 下需要根据编译条件具体调整.
  • *
  • * @author: Guya
  • * @since: 2009-4-30
  • */
  • //目录分割符号
  • define('DS', DIRECTORY_SEPARATOR);
  • //定义根目录
  • define('ROOT', dirname(__FILE__) . DS);
  • //修改include路径,
  • set_include_path(get_include_path() . PATH_SEPARATOR . ROOT . 'libs');
  • //不限制脚本运行时间限制.
  • set_time_limit(0);
  • //简单设置自动载入函数.
  • function __autoload($className) {
  • ????include_once(str_replace("_", DS, $className) . ".);??
  • }
  • //新建立一个
  • $ppp = new
  • //获取当前使用的一页幻灯片
  • $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(
  • $shape->getAlignment()->setVertical(
  • //设置文本框文本内容. 在中文环境下测试没中文问题. 如果在 e 文环境. 注意要指定支持中文的字体. 否则可能出乱码了.
  • $textRun = $shape->createTextRun('欢迎使用 );
  • //使用字体加粗
  • $textRun->getFont()->setBold(true);
  • //设置字体尺寸为 38, 这里注意一下文字的大小设置. 前面的文本框的大小是固定的. 如果文字超出的容器会被出容器被排到下面
  • $textRun->getFont()->setSize(38);
  • //设置文字颜色, 这里是ARGB模式 , 16进制模式, 前面2位为透明度, 后面为RGB值. 这里设置为 blue蓝色
  • $textRun->getFont()->setColor( new 'FFFF0000' ) );
  • //下面再设置几个文本框
  • $shape0 = $activeSlide->createRichTextShape();
  • $shape0->setHeight(50);
  • $shape0->setWidth(400);
  • $shape0->setOffsetX(250);
  • $shape0->setOffsetY(400);
  • $shape0->getAlignment()->setHorizontal(
  • $shape0->getAlignment()->setVertical(
  • $textRun0 = $shape0->createTextRun('http://www.mmclub.net');
  • $textRun0->getFont()->setSize(26);
  • $textRun0->getFont()->setColor( new 'FF0000FF' ) );
  • $shape1 = $activeSlide->createRichTextShape();
  • $shape1->setHeight(30);
  • $shape1->setWidth(200);
  • $shape1->setOffsetX(700);
  • $shape1->setOffsetY(500);
  • $shape1->getAlignment()->setHorizontal(
  • $shape1->getAlignment()->setVertical(
  • $textRun1 = $shape1->createTextRun('Author: Guya');
  • $textRun1->getFont()->setSize(14);
  • $textRun1->getFont()->setColor( new 'FF000000' ) );
  • $shape2 = $activeSlide->createRichTextShape();
  • $shape2->setHeight(30);
  • $shape2->setWidth(200);
  • $shape2->setOffsetX(700);
  • $shape2->setOffsetY(540);
  • $shape2->getAlignment()->setHorizontal(
  • $shape2->getAlignment()->setVertical(
  • $textRun2 = $shape2->createTextRun('Date: 2009-4-30');
  • $textRun2->getFont()->setSize(14);
  • $textRun2->getFont()->setColor( new 'FF000000' ) );
  • //保存PPTX 文件, 使用 2007 格式
  • $objWriter = $ppp, 'PowerPoint2007');
  • //保存文件
  • $objWriter->save(ROOT . 'my);
  • echo 'ppt create success!';
  • ?>
  • 登录后复制

    这个东西的应用前景的话. 在WEB的某些场合还是很有用的. 需要的朋友可以多花点时间去研究了.

    本文来源:http://blog.mmclub.net/index/view/article_id/89

    网上几乎很少有相关资料,找了好久,拿上来跟大家分享,同时感谢作者,。

    08-22 08:59