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 ...
随机推荐
- Codeforces Gym 100463E Spies 并查集
Spies Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100463/attachments Desc ...
- TP复习14
## ThinkPHP 3.1.2 控制器的模块和操作#讲师:赵桐正微博:http://weibo.com/zhaotongzheng 本节课大纲:一.空模块和空操作 1.空操作 function _ ...
- 《UCD火花集1-2》读后感
一个多月的时间都没有更新博客了,只因为9月份有了其他的任务,耽搁了一 ...
- install root certificate failed, Please run as administrator/root/sudo
在钥匙窜中导入 证书就可以了
- 如何快速检查js语法学习Javascript
这里给大家推荐一个快速进行语法检查的方法,可以发现绝大多数语法错误,也可以作为在线编辑器,提高编程效率. 地址:http://www.jslint.com/ 同时推荐一个在线学习Javascript的 ...
- 进程控制之exec函数
用fork函数创建子进程后,子进程往往要调用一种exec函数以执行另一个程序.当进程调用一种exec函数时,该进程执行的程序完全替换为新程序,而新程序则从其main函数开始执行.因为调用exec并不创 ...
- APP快速通过苹果AppStore审核九大诀窍
[IT168技术]对于移动应用开发者来说, 最令人沮丧的可能莫过于辛辛苦苦开发的应用, 没能通过苹果AppStore的审核,或者在应用更新时遭遇下架.苹果的AppStore的审核流程和标准, 一向不透 ...
- php 换行 空格分割处理
<?php function parse_specification($specification){ $rt=array(); $lines=array_filter(preg_split(& ...
- AlloyTouch实现下拉刷新
原文地址:https://github.com/AlloyTeam/AlloyTouch/wiki/Pull-to-refresh 效果展示 扫码体验 你也可以点击这里访问Demo 可以点击这里查看代 ...
- ubuntu 12.10安装VIM
使用命令:sudo apt-get install vim vim-gtk 可能安装时出错,可用下面更新系统,再执行上面的安装命令. 更新:sudo apt-get update