最近做一个和flash有关的东西,其中就要用到在网站上看ppt就像百度,豆丁网那样可以直接在网站上读,在网上搜了半天没搜到,都是些什么安装个软件什么的,php网站放到空间上,谁能让你在哪装软件呢?不是在瞎扯么?不过还好,最后在国外一个网站上搜到了一个解决思路,就是一个php操作ppt的类,当然这个网站还提供了操作offices软件的其他类,不过是2007版的offices,现把网址贴出来奉献给大家:http://phppowerpoint.codeplex.com/。也可点击此处本站下载。
这个类可以实现 ppt2007格式的读写/生成
下面也贴出当时看到的一个例子:
本例子使用phppowerpoint类,使用该类注意两点,一个是了解参数含义,二注意字符集
getproperties()->setcreator(maarten balliauw);$objphppowerpoint->getproperties()->setlastmodifiedby(maarten balliauw);$objphppowerpoint->getproperties()->settitle(office 2007 pptx test document);$objphppowerpoint->getproperties()->setsubject(office 2007 pptx test document);$objphppowerpoint->getproperties()->setdescription(test document for office 2007 pptx, generated using php classes.);$objphppowerpoint->getproperties()->setkeywords(office 2007 openxml php);$objphppowerpoint->getproperties()->setcategory(test result file);// remove first slide//echo date('h:i:s') . remove first slide\n;$objphppowerpoint->removeslidebyindex(0);// create templated slide//echo date('h:i:s') . create templated slide\n;/*$currentslide = createtemplatedslide($objphppowerpoint); // local function// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(200);$shape->setwidth(600);$shape->setoffsetx(10);$shape->setoffsety(400);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('introduction to');$textrun->getfont()->setbold(true);$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun('phppowerpoint');$textrun->getfont()->setbold(true);$textrun->getfont()->setsize(60);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create templated slideecho date('h:i:s') . create templated slide\n;$currentslide = createtemplatedslide($objphppowerpoint); // local function// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(100);$shape->setwidth(930);$shape->setoffsetx(10);$shape->setoffsety(10);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('what is phppowerpoint?');$textrun->getfont()->setbold(true);$textrun->getfont()->setsize(48);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(600);$shape->setwidth(930);$shape->setoffsetx(10);$shape->setoffsety(100);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('- a class library');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun('- written in php');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun('- representing a presentation');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun('- supports writing to different file formats');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create templated slideecho date('h:i:s') . create templated slide\n;$currentslide = createtemplatedslide($objphppowerpoint); // local function// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(100);$shape->setwidth(930);$shape->setoffsetx(10);$shape->setoffsety(10);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('what\'s the point?');$textrun->getfont()->setbold(true);$textrun->getfont()->setsize(48);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(600);$shape->setwidth(930);$shape->setoffsetx(10);$shape->setoffsety(100);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('- generate slide decks');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' - represent business data');$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' - show a family slide show');$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' - ...');$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun('- export these to different formats');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' - powerpoint 2007');$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' - serialized');$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' - ... (more to come) ...');$textrun->getfont()->setsize(28);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create templated slideecho date('h:i:s') . create templated slide\n;$currentslide = createtemplatedslide($objphppowerpoint); // local function// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(100);$shape->setwidth(930);$shape->setoffsetx(10);$shape->setoffsety(10);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('need more info?');$textrun->getfont()->setbold(true);$textrun->getfont()->setsize(48);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create a shape (text)echo date('h:i:s') . create a shape (rich text)\n;$shape = $currentslide->createrichtextshape();$shape->setheight(600);$shape->setwidth(930);$shape->setoffsetx(10);$shape->setoffsety(100);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$textrun = $shape->createtextrun('check the project site on codeplex:');$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );$shape->createbreak();$textrun = $shape->createtextrun(' );$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( 'ffffffff' ) );// create templated slideecho date('h:i:s') . create templated slide\n;*///test//从数据库调取数据进行for循环$row=array('titlepic'=>array('./images/love.gif','./images/love1.gif','./images/love2.gif','./images/love3.gif'),'xsprice'=>array(55,33,22,333),'cjid'=>array('100','222','333','3333'),'lpid'=>array('111','222','333','444'),'price'=>array('111','433','243','3245'));for($i=0;$icreaterichtextshape();$shape->setheight(100);$shape->setwidth(930);//调整字体的高度宽度$shape->setoffsetx(20);$shape->setoffsety(400);//$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );$row[price]=iconv(utf-8,gb2312,$row[price][$i]);$textrun = $shape->createtextrun('礼品网价格:'.$row[xsprice][$i]);$textrun->getfont()->setbold(true);$textrun->getfont()->setsize(48);$textrun->getfont()->setcolor( new phppowerpoint_style_color( '#000000' ) );$shape = $currentslide->createrichtextshape();$shape->setheight(600);$shape->setwidth(930);$shape->setoffsetx(20);$shape->setoffsety(500);$shape->getalignment()->sethorizontal( phppowerpoint_style_alignment::horizontal_left );//添加多行内容从这开始$textrun = $shape->createtextrun('公司编号: '.$row[cjid][$i]);$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( '#000000' ) );$shape->createbreak();$textrun = $shape->createtextrun('礼品网编号: '.$row[lpid][$i]);$textrun->getfont()->setsize(36);$textrun->getfont()->setcolor( new phppowerpoint_style_color( '#000000' ) );//test// save powerpoint 2007 file}//echo date('h:i:s') . write to powerpoint2007 format\n;$objwriter = phppowerpoint_iofactory::createwriter($objphppowerpoint, 'powerpoint2007');$objwriter->save(str_replace('.php', '.pptx',__file__));header(content-type:application/vnd.ms-powerpoint;);header(location:02presentation.pptx);// echo memory peak usage//echo date('h:i:s') . peak memory usage: . (memory_get_peak_usage(true) / 1024 / 1024) . mb\r\n;// echo done//echo date('h:i:s') . done writing file.\r\n;/*** creates a templated slide** @param phppowerpoint $objphppowerpoint* @return phppowerpoint_slide*/function createtemplatedslide1(phppowerpoint $objphppowerpoint,$cs1){// create slide$slide = $objphppowerpoint->createslide();// add background image$shape = $slide->createdrawingshape();$shape->setname('background');$shape->setdescription('background');$shape->setpath('./images/realdolmen_bg.jpg');$shape->setwidth(950);$shape->setheight(720);$shape->setoffsetx(0);$shape->setoffsety(0);// add logo$shape = $slide->createdrawingshape();$shape->setname('phppowerpoint logo');$shape->setdescription('phppowerpoint logo');$shape->setpath($cs1);$shape->setheight(120);$shape->setoffsetx(10);$shape->setoffsety(10);// return slidereturn $slide;}
我的问题仍然还在研究中,如果大家有更好的解决方法,请继续贴,期待更多好的分享
希望本文所述对大家php程序设计有所帮助。
以上就介绍了php读取ppt文件的方法,包括了方面的内容,希望对php教程有兴趣的朋友有所帮助。
