施用PHP创建 PowerPoint2007 文档
使用PHP创建 PowerPoint2007 文档
今天早上从订阅的 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 一样. 处理速度也非常快. 本次只做了简单才测试. 更多高级功能未花时间去玩. 帖一下测试代码吧.
<ol class="dp-c"> <li class="alt"><span><span><?php </span></span></span></li> <li><span><span class="comment">/**</span> </span></li> <li class="alt"><span><span class="comment"> * PHP 生成 PowerPoint 2007 示例脚本.</span> </span></li> <li><span><span class="comment"> *</span> </span></li> <li class="alt"><span><span class="comment"> * 本程序需要 PHP 5.2 以上版本, 需要 php_zip 和 php_xml 扩展支持.</span> </span></li> <li><span><span class="comment"> * 通常WIN下程序只要打开 php_zip 扩展即可, php_xml 扩展内置支持.</span> </span></li> <li class="alt"><span><span class="comment"> * Linux 下需要根据编译条件具体调整.</span> </span></li> <li><span><span class="comment"> *</span> </span></li> <li class="alt"><span><span class="comment"> * @author: Guya</span> </span></li> <li><span><span class="comment"> * @since: 2009-4-30</span> </span></li> <li class="alt"><span><span class="comment"> */</span><span> </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//目录分割符号</span><span> </span></span></li> <li><span>define(<span class="string">'DS'</span><span>, DIRECTORY_SEPARATOR); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//定义根目录</span><span> </span></span></li> <li class="alt"><span>define(<span class="string">'ROOT'</span><span>, dirname(</span><span class="keyword">__FILE__</span><span>) . DS); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//修改include路径, PHPPowerPoint 包放在当前目录的 libs 目录下.</span><span> </span></span></li> <li><span>set_include_path(get_include_path() . PATH_SEPARATOR . ROOT . <span class="string">'libs'</span><span>); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//不限制脚本运行时间限制.</span><span> </span></span></li> <li class="alt"><span>set_time_limit(0); </span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//简单设置自动载入函数.</span><span> </span></span></li> <li><span><span class="keyword">function</span><span> __autoload(</span><span class="vars">$className</span><span>) { </span></span></li> <li class="alt"><span>????<span class="keyword">include_once</span><span>(</span><span class="func">str_replace</span><span>(</span><span class="string">"_"</span><span>, DS, </span><span class="vars">$className</span><span>) . </span><span class="string">".php"</span><span>);??</span></span></li> <li><span>} </span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//新建立一个 PHPPowerPoint 对象.</span><span> </span></span></li> <li class="alt"><span><span class="vars">$ppp</span><span> = </span><span class="keyword">new</span><span> PHPPowerPoint(); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//获取当前使用的一页幻灯片</span><span> </span></span></li> <li><span><span class="vars">$activeSlide</span><span> = </span><span class="vars">$ppp</span><span>->getActiveSlide(); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//添加一个图片到幻灯片.</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span> = </span><span class="vars">$activeSlide</span><span>->createDrawingShape(); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置图片名称.</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->setName(</span><span class="string">'MmClub.net Logo'</span><span>); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置图片的描述信息.</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->setDescription(</span><span class="string">'MmClub.net Logo'</span><span>); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//图片实际路径</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->setPath(ROOT . </span><span class="string">'mmclub.net.jpg'</span><span>); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//图片高度</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->setHeight(103); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置图片宽度</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->setWidth(339); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置图片相对于左上角X位置, 单位像素</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->setOffsetX(10); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置图片相对于左上角Y位置, 单位像素</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->setOffsetY(10); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置图显示状态</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->getShadow()->setVisible(true); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="vars">$shape</span><span>->getShadow()->setDirection(45); </span></span></li> <li><span><span class="vars">$shape</span><span>->getShadow()->setDistance(10); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置一个文本框</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span> = </span><span class="vars">$activeSlide</span><span>->createRichTextShape(); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置文本框高度, 单位像素</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->setHeight(150); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置文本框宽度, 单位像素</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->setWidth(600); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置文本框相对于左上角X位置, 单位像素</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->setOffsetX(150); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置文本框相对于左上角Y位置, 单位像素</span><span> </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->setOffsetY(200); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置文本布局位置为水平居中, 垂直居中.</span><span> </span></span></li> <li><span><span class="vars">$shape</span><span>->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER ); </span></span></li> <li class="alt"><span><span class="vars">$shape</span><span>->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER ); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置文本框文本内容. 在中文环境下测试没中文问题. 如果在 e 文环境. 注意要指定支持中文的字体. 否则可能出乱码了.</span><span> </span></span></li> <li><span><span class="vars">$textRun</span><span> = </span><span class="vars">$shape</span><span>->createTextRun(</span><span class="string">'欢迎使用 PHPPowerPoint2007'</span><span>); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//使用字体加粗</span><span> </span></span></li> <li class="alt"><span><span class="vars">$textRun</span><span>->getFont()->setBold(true); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//设置字体尺寸为 38, 这里注意一下文字的大小设置. 前面的文本框的大小是固定的. 如果文字超出的容器会被出容器被排到下面</span><span> </span></span></li> <li><span><span class="vars">$textRun</span><span>->getFont()->setSize(38); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//设置文字颜色, 这里是ARGB模式 , 16进制模式, 前面2位为透明度, 后面为RGB值. 这里设置为 blue蓝色</span><span> </span></span></li> <li class="alt"><span><span class="vars">$textRun</span><span>->getFont()->setColor( </span><span class="keyword">new</span><span> PHPPowerPoint_Style_Color( </span><span class="string">'FFFF0000'</span><span> ) ); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//下面再设置几个文本框</span><span> </span></span></li> <li><span><span class="vars">$shape0</span><span> = </span><span class="vars">$activeSlide</span><span>->createRichTextShape(); </span></span></li> <li class="alt"><span><span class="vars">$shape0</span><span>->setHeight(50); </span></span></li> <li><span><span class="vars">$shape0</span><span>->setWidth(400); </span></span></li> <li class="alt"><span><span class="vars">$shape0</span><span>->setOffsetX(250); </span></span></li> <li><span><span class="vars">$shape0</span><span>->setOffsetY(400); </span></span></li> <li class="alt"><span><span class="vars">$shape0</span><span>->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_CENTER ); </span></span></li> <li><span><span class="vars">$shape0</span><span>->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER ); </span></span></li> <li class="alt"><span><span class="vars">$textRun0</span><span> = </span><span class="vars">$shape0</span><span>->createTextRun(</span><span class="string">'http://www.mmclub.net'</span><span>); </span></span></li> <li><span><span class="vars">$textRun0</span><span>->getFont()->setSize(26); </span></span></li> <li class="alt"><span><span class="vars">$textRun0</span><span>->getFont()->setColor( </span><span class="keyword">new</span><span> PHPPowerPoint_Style_Color( </span><span class="string">'FF0000FF'</span><span> ) ); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="vars">$shape1</span><span> = </span><span class="vars">$activeSlide</span><span>->createRichTextShape(); </span></span></li> <li><span><span class="vars">$shape1</span><span>->setHeight(30); </span></span></li> <li class="alt"><span><span class="vars">$shape1</span><span>->setWidth(200); </span></span></li> <li><span><span class="vars">$shape1</span><span>->setOffsetX(700); </span></span></li> <li class="alt"><span><span class="vars">$shape1</span><span>->setOffsetY(500); </span></span></li> <li><span><span class="vars">$shape1</span><span>->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT ); </span></span></li> <li class="alt"><span><span class="vars">$shape1</span><span>->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER ); </span></span></li> <li><span><span class="vars">$textRun1</span><span> = </span><span class="vars">$shape1</span><span>->createTextRun(</span><span class="string">'Author: Guya'</span><span>); </span></span></li> <li class="alt"><span><span class="vars">$textRun1</span><span>->getFont()->setSize(14); </span></span></li> <li><span><span class="vars">$textRun1</span><span>->getFont()->setColor( </span><span class="keyword">new</span><span> PHPPowerPoint_Style_Color( </span><span class="string">'FF000000'</span><span> ) ); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="vars">$shape2</span><span> = </span><span class="vars">$activeSlide</span><span>->createRichTextShape(); </span></span></li> <li class="alt"><span><span class="vars">$shape2</span><span>->setHeight(30); </span></span></li> <li><span><span class="vars">$shape2</span><span>->setWidth(200); </span></span></li> <li class="alt"><span><span class="vars">$shape2</span><span>->setOffsetX(700); </span></span></li> <li><span><span class="vars">$shape2</span><span>->setOffsetY(540); </span></span></li> <li class="alt"><span><span class="vars">$shape2</span><span>->getAlignment()->setHorizontal( PHPPowerPoint_Style_Alignment::HORIZONTAL_LEFT ); </span></span></li> <li><span><span class="vars">$shape2</span><span>->getAlignment()->setVertical( PHPPowerPoint_Style_Alignment::VERTICAL_CENTER ); </span></span></li> <li class="alt"><span><span class="vars">$textRun2</span><span> = </span><span class="vars">$shape2</span><span>->createTextRun(</span><span class="string">'Date: 2009-4-30'</span><span>); </span></span></li> <li><span><span class="vars">$textRun2</span><span>->getFont()->setSize(14); </span></span></li> <li class="alt"><span><span class="vars">$textRun2</span><span>->getFont()->setColor( </span><span class="keyword">new</span><span> PHPPowerPoint_Style_Color( </span><span class="string">'FF000000'</span><span> ) ); </span></span></li> <li><span> </span></li> <li class="alt"><span><span class="comment">//保存PPTX 文件, 使用 2007 格式</span><span> </span></span></li> <li><span><span class="vars">$objWriter</span><span> = PHPPowerPoint_IOFactory::createWriter(</span><span class="vars">$ppp</span><span>, </span><span class="string">'PowerPoint2007'</span><span>); </span></span></li> <li class="alt"><span> </span></li> <li><span><span class="comment">//保存文件</span><span> </span></span></li> <li class="alt"><span><span class="vars">$objWriter</span><span>->save(ROOT . </span><span class="string">'myPhpPpt.pptx'</span><span>); </span></span></li> <li><span><span class="func">echo</span><span> </span><span class="string">'ppt create success!'</span><span>; </span></span></li> <li class="alt"><span>?> </span></li> </ol>
这个东西的应用前景的话. 在WEB的某些场合还是很有用的. 需要的朋友可以多花点时间去研究了.
本文来源:http://blog.mmclub.net/index/view/article_id/89
网上几乎很少有相关资料,找了好久,拿上来跟大家分享,同时感谢作者,。

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

許多用戶在選擇智慧型手錶的時候都會選擇的華為的品牌,其中華為GT3pro和GT4都是非常熱門的選擇,不少用戶都很好奇華為GT3pro和GT4有什麼區別,下面就給大家介紹一下二者。華為GT3pro和GT4有什麼差別一、外觀GT4:46mm和41mm,材質是玻璃鏡板+不鏽鋼機身+高分纖維後殼。 GT3pro:46.6mm和42.9mm,材質是藍寶石玻璃鏡+鈦金屬機身/陶瓷機身+陶瓷後殼二、健康GT4:採用最新的華為Truseen5.5+演算法,結果會更加的精準。 GT3pro:多了ECG心電圖和血管及安

為什麼截圖工具在Windows11上不起作用了解問題的根本原因有助於找到正確的解決方案。以下是截圖工具可能無法正常工作的主要原因:對焦助手已開啟:這可以防止截圖工具開啟。應用程式損壞:如果截圖工具在啟動時崩潰,則可能已損壞。過時的圖形驅動程式:不相容的驅動程式可能會幹擾截圖工具。來自其他應用程式的干擾:其他正在運行的應用程式可能與截圖工具衝突。憑證已過期:升級過程中的錯誤可能會導致此issu簡單的解決方案這些適合大多數用戶,不需要任何特殊的技術知識。 1.更新視窗與Microsoft應用程式商店應用程

第1部分:初始故障排除步驟檢查蘋果的系統狀態:在深入研究複雜的解決方案之前,讓我們先從基礎知識開始。問題可能不在於您的設備;蘋果的伺服器可能會關閉。造訪Apple的系統狀態頁面,查看AppStore是否正常運作。如果有問題,您所能做的就是等待Apple修復它。檢查您的網路連接:確保您擁有穩定的網路連接,因為「無法連接到AppStore」問題有時可歸因於連接不良。嘗試在Wi-Fi和行動數據之間切換或重置網路設定(「常規」>「重置」>「重置網路設定」>設定)。更新您的iOS版本:

php提交表单通过后,弹出的对话框怎样在当前页弹出php提交表单通过后,弹出的对话框怎样在当前页弹出而不是在空白页弹出?想实现这样的效果:而不是空白页弹出:------解决方案--------------------如果你的验证用PHP在后端,那么就用Ajax;仅供参考:HTML code

watch4pro和gt各自具有不使用的特點和適用場景,如果注重功能的全面性、高性能和時尚外觀,同時願意承擔較高的價格,那麼Watch 4 Pro可能更適合。如果對功能要求不高,更注重電池續航力和價格的合理性,那麼GT系列可能更適合。最終的選擇應根據個人需求、預算和喜好來決定,建議在購買前仔細考慮自己的需求,並參考各種產品的評測和比較,以做出更明智的選擇。

如何使用iPadOS17.4优化iPad电池寿命延长电池续航时间是移动设备体验的关键,iPad是一个很好的例子。如果您觉得iPad电池消耗速度过快,不用担心,在iPadOS17.4中有许多技巧和调整可以显著延长设备的运行时间。本深入指南的目标不仅仅是提供信息,而是改变您使用iPad的方式,增强您的整体电池管理,并确保您可以在无需充电的情况下更长时间地依赖您的设备。通过采用此处概述的做法,您朝着更高效、更谨慎地使用技术迈出了一步,这些技术是根据您的个人需求和使用模式量身定制的。识别主要的能量消耗者

请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?那么请问如何修改url某一参数的参数值呢?是要拆开了再拼回去吗?http://127.0.0.1/myo/newuser.php?mod=search&type=fastone比如现在我要修改mod=new要怎么做呢?------解决方案--------------------发送了请求

8月8日,華為終端官方開啟華為MateBookGT14"超能星光秀"。知名演員江疏影與英雄聯盟職業聯賽官方解說管澤元作客直播間,親自體驗華為MateBookGT14這款最新的華為筆記本。直播中,江疏影和管澤元對華為MateBookGT14讚不絕口。 CNMO注意到,直播中,江疏影、管澤元與華為PC產品線總裁一同見證了華為MateBookGT14的拆解。可以看到,華為MateBookGT14內部設計非常工整,而且採用了高密度的主機板設計,主機板也進行了部分下沉,與鍵盤拉開了距離。這
