『壹』 php調用COM組件操作WORD問題
hp // 建立一個指向新COM組件的索引 $word = new COM("word.application")
『貳』 PHP怎樣讀取word文檔實現在線預覽,並且不受操作系統的限制,利用COM組件的話太受限了
你可以嘗試一下PHPWord,用它可以把任意word文件轉換為html網頁,這樣任何人都可以在瀏覽器里查看你的word文件了。
PHPWord
盡管目前只是測試版但是功能還是很強勁!完美兼容MF Word並且支持打開.doc or.docx。可以插入文本,文本符,分頁,頁眉/頁腳,表格,列表中的元素,超鏈接等等。
地址:http://phpword.codeplex.com
『叄』 如何用PHP生成word文檔
PHP 生成 word 文檔,可以考慮以下兩類辦法:
1. 利用 windows 系統提供的 com組件。
這種方法的原理,是使用 php 的調用 com 組件功能函數,如果系統里安裝過 office 的伺服器,就可以調用 word.application 。
2. 利用PHP將內容寫入doc文件之中。
這種方法,難分為兩種,一種是生成mht格式寫入word,另一種是編寫純 HTML 格式寫入word。這種方法是基於 word 對 html 的良好支持。
『肆』 php中有個com組件,它裡面都有哪些屬性和方法可以調用呢
先到PHP.INI中打開COM選項,com.allow_dcom = true
PHP 5.4.5後,com/dotnet 模塊已經成了單獨的擴展,所以需要在PHP.ini中配置extension=php_com_dotnet.dll,如果PHP VERSION<5.4.5 則不需要。否則的話,可能就是報錯 Fatal error: Class 'COM' not found 了
配置方法為:只需在擴展列表裡添加extension=php_com_dotnet.dll即可
另外需要了解的是,COM組件雖然也是DLL擴展,但它不是PHP擴展,所以把Senc.dll拷貝到php/ext 目錄,然後在PHP.INI里載入是錯誤的,PHP也不認識它
配置完畢後可以測試下,語句為
$word=newCOM("word.application")ordie("UnabletoinstanciateWord");
print"LoadedWord,version{$word->Version} ";
上面語句本機必須安裝了office才可以
openoffice的為:
$obj=newCOM("com.sun.star.ServiceManager")ordie("UnabletoinstanciateWord");
『伍』 怎樣用PHP讀取一個word文檔內容並在瀏覽器中顯示出來
目前程序編譯語言有很多種,其中php是最為常見的一種編程語言。php讀取word文檔是很多朋友都想了解的,下面就由達內的老師為大家介紹一下。
?php
/*
*
必須將
php.ini
中的
com.allow_dcom
設為
TRUE
*/
function
php_Word($wordname,$htmlname,$content)
{
//獲取鏈接地址
$url
=
$_SERVER['HTTP_HOST'];
$url
=
";
$url
=
$url.$_SERVER['PHP_SELF'];
$url
=
dirname($url)."/";
//建立一個指向新COM組件的索引
$word
=
new
COM("word.application")
or
die("Unable
to
instanciate
Word");
//顯示目前正在使用的Word的版本號
echo
"Loading
Word,
v.
{$word-
Version}";
//把它的可見性設置為0(假),如果要使它在最前端打開,使用1(真)
$word->Visible
=
1;
//---------------------------------讀取Word內容操作
START-----------------------------------------
//打開一個word文檔
$word->Documents->Open($url.$wordname);
//將filename.doc轉換為html格式,並保存為html文件
$word->Documents[1]->SaveAs(dirname(__FILE__)."/".$htmlname,8);
//獲取htm文件內容並輸出到頁面
(文本的樣式不會丟失)
$content
=
file_get_contents($url.$htmlname);
echo
$content;
//獲取word文檔內容並輸出到頁面(文本的原樣式已丟失)
$content=
$word->ActiveDocument->content->Text;
echo
$content;
//關閉與COM組件之間的連接
$word->Documents->close(true);
$word->Quit();
$word
=
null;
unset($word);
//---------------------------------新建立Word文檔操作
START--------------------------------------
//建立一個空的word文檔
$word->Documents->Add();
//寫入內容到新建word
$word->Selection->TypeText("$content");
//保存新建的word文檔
$word->Documents[1]->SaveAs(dirname(__FILE__)."/".$wordname);
//關閉與COM組件之間的連接
$word->Quit();
}
php_Word("tesw.doc","filename.html","寫入word的內容");
?>