zoukankan      html  css  js  c++  java
  • PHP使用COM 获取RTF内容

    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;
    }
  • 相关阅读:
    热烈祝贺自己的博客进入前1000名
    烈日之后逛成都
    懂得爱情
    腾飞天涯
    哈佛教授教你成为No.1的秘诀
    烈日炎炎
    有缘无份——因为伤感所以美丽
    时间管理
    亲爱的陌生人(转)
    走好激励第一步
  • 原文地址:https://www.cnblogs.com/krisy/p/5456254.html
Copyright © 2011-2022 走看看