程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP創建PowerPoint2007文檔的方法

PHP創建PowerPoint2007文檔的方法

編輯:PHP綜合

本文實例講述了PHP創建PowerPoint2007文檔的方法。分享給大家供大家參考,具體如下:

今天早上從訂閱的 Zend DevZone 看到篇很有意思的文章. 試了一下. 果然很又意思, 分享給大家吧.

程序需要 PHP 5.2 以上環境, 另外需要 php_zip 和 php_xml 擴展模塊支持. 另外需要下載 PHPPowerPoint 類庫. 官方網站地址: http://phppowerpoint.codeplex.com/ 目前穩定版本是 0.1.0。也可點擊此處本站下載。

說一下感覺吧. 這個類庫還可以. 編碼很規范. 完全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.jb51.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的某些場合還是很有用的. 需要的朋友可以多花點時間去研究了

希望本文所述對大家php程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved