本文实例讲述了PHP创建PowerPoint2007文档的方法。分享给大家供大家参考,具体如下:
今天早上从订阅的 Zend DevZone 看到篇很有意思的文章. 试了一下. 果然很又意思,分享给大家吧.
程序需要 PHP 5.2 以上环境,另外需要 PHP_zip 和 PHP_xml 扩展模块支持. 另外需要下载 PHPPowerPoint 类库. 官方网站地址: 目前稳定版本是 0.1.0。也可点击此处。
说一下感觉吧. 这个类库还可以. 编码很规范. 完全PHP5的风格. 我喜欢的类型. 和 Zend Framework 一样. 处理速度也非常快. 本次只做了简单才测试. 更多高级功能未花时间去玩. 帖一下测试代码吧.
PHP;">
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('//www.jb51.cc');
$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的某些场合还是很有用的. 需要的朋友可以多花点时间去研究了
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/20797.html