PHP使用COM 获取RTF内容
1. 需要在APP服务器上安装Office
2. 可能需要创建文件夹:Desktop
C:\Windows\SysWOW64\config\systemprofile\Desktop
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;
}
PHP使用COM 获取RTF内容的更多相关文章
- appium如何获取conten-desc内容文本
如何获取conten-desc内容文本 定位到该元素,通过getAttribute("name");来获取内容如:媒体报道 总结: 思路和selenium一样,可以理解为获取它的v ...
- PHP curl获取页面内容,不直接输出到页面,CURLOPT_RETURNTRANSFER参数设置
使用PHP curl获取页面内容或提交数据,有时候希望返回的内容作为变量储存,而不是直接输出.这个时候就必需设置curl的或true. 1.curl获取页面内容, 直接输出例子: <?php $ ...
- PHP模拟POST请求,获取response内容
/* * 模拟POST请求,获取response内容 */ protected function curl($url, $type, $header, $data) { $CURL_OPTS = ar ...
- jquery获取标签内容,编辑内容
一.获取页面元素 三种方式获取页面中元素的内容. input标签使用:.val()获取 标签下的html及文本内容:.html() 仅获取标签下的纯文本内容:.text() <head> ...
- Asp.net正则获取html内容
1.获取div内容 string str = "tt<u>ss</u><div id=\"test\"><div>< ...
- C# 正则获取html内容
1.获取div内容 string str = "tt<u>ss</u><div id=\"test\"><div>< ...
- 从html字符串中获取div内容---jquery
思考的问题: 怎么在一个网页的div中嵌套另外的网页(不使用inclue,iframe和frame,不使用他们的原因,include只能嵌套静态网页,iframe对网络爬虫影响,frame嵌套网页无法 ...
- 捕捉小括号获取的内容保存在RegExp的$1 $2..属性中
~~~~捕捉小括号获取的内容保存在RegExp的$1 $2..属性中 var reg=/^(-?\d+)(px|pt|em|in)?$/;if(reg.test(svalue)){ ...
- Swift - 文本输入框内容改变时响应,并获取最新内容
1,问题描述 有时我们开发的时候需要先把“确认”按钮初始设置为不可用,当文本框中输入文字以后,再将输入按钮变为可用. 2,实现原理 (1)要检测文本框内容的变化,我们需要让新界面的Controller ...
随机推荐
- CF B. Kolya and Tandem Repeat
Kolya got string s for his birthday, the string consists of small English letters. He immediately ad ...
- android仿win8 metro磁贴布局
代码下载 //更新代码, 这里是更新后的代码 //////////////////////// 1,含一个图片无限滚动的控件,自己实现的 2.可新增删除每个磁贴 3.来个图片吧 ////* ...
- Android蓝牙传感应用
Android手机一般以客户端的角色主动连接SPP协议设备(接上蓝牙模块的数字传感器),连接流程是: 1.使用registerReceiver注册BroadcastReceiver来获取蓝牙状态.搜索 ...
- PHP 页面编码声明方法(header或meta)
本文为大家介绍了二种页面编码的声明方法,一种是使用php中的header函数来向客户端发送header头,一种是使用html中的meta标签来生明页面编码,本文分别对他们如何使用进行了说明,感兴趣的同 ...
- HTML目录
1. 表格标记 2. HTML常用标记 3. 博客园添加访问人数统计 4. 如何快速掌握CSS(各种CSS工具) 5. HTTP协议状态码详解(HTTP Status Code)(转)
- mysql常用命令大全 mysql常用命令总结
原文地址:http://www.jbxue.com/db/12472.html 本文介绍下,mysql中常用的一些命令,包括创建与修改数据库.数据库中的表,mysql的权限管理命令grant.revo ...
- 10 ways to be a faster code reviewer--reference
reference:http://blog.codacy.com/top-10-faster-code-reviews/ This is a blog post of our Code Reading ...
- Subsequence poj 3061 二分(nlog n)或尺取法(n)
Subsequence Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9236 Accepted: 3701 Descr ...
- jsp包含的讲解
<%@page language="java" import="java.util.*" pageEncoding="UTF-8"%& ...
- Solr特殊字符转义处理
做站内搜索时,如果输入的参数中包含英文冒号.双引号或其他具有特殊含义的字符时,可能需要做转义来避免查不到数据的问题. 测试于:Solr 4.5.1, Jdk 1.6.0_45, Tomcat 6.0. ...