1. 需要在APP服务器上安装Office
2. 可能需要创建文件夹:Desktop
C:WindowsSysWOW64configsystemprofileDesktop
3. 可能需要设置权限 component service,中找到 “Microsoft Office ….”中的属性,设置相关的权限
(如果找不到:需要做以下步骤去添加
1.由於Dcomcnfg是一個32位和配置,在64系統下並不能被完全支持,因此需要对WIN2008 X64系統进行DCOM配置,操作步骤如下:
1.1运行:mmc -32
1.2在菜單中选择File->Add/Remove Snap
添加Component Services,然後在Component Services下找到Excel後再進行配置,就和32位系統一樣可以看到Microsoft Excel Appliction 组件了。
2.由于用户没有操作excel的权限,需要通过如下操作对 Microsoft Excel Appliction 进行授权。
2.1运行:dcomcnfg.exe
2.2"组件服务"- >"计算机"- >"我的电脑"- >"DCOM配置"->找到word->属性->"标识"标签,选择"交互式用户"
2.3->安全"标签"->在"启动和激活权限"上点击"自定义",然后点击对应的"编辑"按钮,在弹出的"安全性"对话框中填加 一个"NETWORK SERVICE"用户(注意要选择本计算机名),并给它赋予"本地启动"和"本地激活"权限.
)
4. 可能需要设置Apache服务的登录用户名及密码
function getRTFtext($rtfFileName) { $result=''; if (!is_file($rtfFileName)) { throw new ErrorException("File not found."); } $rtfFileName = realpath($rtfFileName); // Connect to Word if (!class_exists('COM')) { throw new ErrorException('COM extension is not enabled.'); } $word = new COM("word.application"); if (!$word) { throw new ErrorException('Unable to instantiate Word COM object.'); } // Check the Word version. if ($word->Version < 12) { $word->Quit(); $word = null; throw new ErrorException('The version of Word is too old.'); } // $word->visible = 1; try { // Documents.Open: http://msdn.microsoft.com/en-us/library/office/ff835182%28v=office.14%29.aspx //$word->Visible=true; $word->Documents->Open($rtfFileName, FALSE, TRUE); $result= $word->ActiveDocument->content->Text; $word->ActiveDocument->Close(FALSE); //echo ''.$test; } catch (Exception $e) { $word->Quit(); $word = null; throw $e; } try { $word->Quit(); $word = null; } catch (Exception $e) { var_dump($e); } return $result; }