❶ javaweb 在线预览word如何实现
你是什么地方用,一般这个实在服务端实现,把word转成html,图片,或者swf来在浏览器查看。相对而言转成html的效果最好。
目前市面上已经有几个服务商在做,有的是基于openoffice做转换的,但是效果并不是很好,毕竟openoffice本身就很一般;还有的使用微软Office做转换,效果要好很多,但是毕竟核心转换技术是微软的,所以受制于人。
还有就是自行研发转换功能,不过这个一般企业根本做不到,国内也就金山和永中有这个实力,金山并没有这种产品,永中倒是有,效果也很不错,你可以度娘搜永中dcs,到他们网站看看,像腾讯邮箱,还有新华社,大型银行都在用,如果是个人用户,他们有免费的公有云版本,云转换,阿里巴巴用的就是这个,可以直接调用接口转换,免费使用。
网页链接
❷ java web实现在线预览word excel等文件,类似邮箱那种,非常感谢
Excel这部分可以用SpreadJS,这是一个纯前端的控件,用于在线Excel表格展示预览操作。既然你是要实现在线预览,肯定是要包含前端的,SpreadJS本身是纯前端的,任何服务端语言都可以与之结合,所以java肯定也没问题。
Word这块可以找一找网上比较好的富文本工具,也可以实现word的在线预览。
❸ Javaweb office文档在线预览怎么实现!!!
在线预览的不是office格式,而且是swf文件,
flexPaper是可以把swf放在页面上进行展示的,
1、flash 的flexpaper 将文档转换为swf格式,然后使用flash在网页中浏览,
2、使用开源的软件openoffice+pdf2htmlEx,利用openoffice的接口先将文档转换为pdf格式,然后在使用pdf2htmlEx将文档转换为html直接在网页中显示;
3、搭建一个文档预览服务器,基于office web app,也就是微软的office online。
搭建服务器步骤:
首先,需要转换server
安装IIS 7.0,打开服务器管理器,添加角色和功能,打开“添加角色和功能向导”界面,点击下一步,因为是基于本机安装,所以要选择“基于角色或者基于功能安装”,在服务器角色列表上选择“Web服务器”,点击下一步,安装完成。
其次,域控server
(1)打开服务器管理器,添加角色和功能,出现“添加角色和功能”界面,下一步,因为是基于本机安装,所以要选择“基于角色或基于功能安装”,选择添加AD域服务,同时添加所需功能,根据提示操作,下一步,等待安装完成。
(2)配置域,点击服务器管理器左侧“AD DS”,点击“升级为域控制器”,进入AD域服务器配置向导,下一步(注意:域的填写),填写密码,下一步,提示DNS无法创建,不用管,继续下一步,安装路径,默认,下一步,查看选项,默认,下一步,点击安装,安装完成,会提示注销重启。
(3)将转换服务器加入到域控服务器,修改NDS,指向域控服务器,在计算机属性中,修改计算机名称,并添加到域控服务器(如下图),确定后提示注销重启服务器,在域控服务器,管理中选择添加服务器,名称填写office web apps server的计算机名称,立即查找。然后添加到右边,确定。在域控服务器中,所有服务器显示两台服务器,并都是联机状态则表示成功。
至此,服务器安装完成。
❹ 如何使用java操作word 文档
如果没有特殊需求,可以直接使用jacob_*.zip中提供的jacob.jar和jacob.dll。把jacob.dll文件放在系统可以找得到的
路径上,一般放c:/windows/system32下就行了,注意你用的jacob.dll文件和你的jacob.jar包要匹配,否则会报错哦!
如果想自己编译也很简单,把jacob_*_src.zip解开,建个工程,在build.xml中稍作配置即可:
<property name="JDK" value="D:\Java\j2sdk1.4.2_13"/>
<property name="MSDEVDIR" value="D:\Microsoft Visual Studio\VC98"/>
<property name="version" value="1.12"/>
看出来了吗,你的机器上需要有JDK和VC环境,VC是用来生成jacob.dll文件的,如果编译时说找不到MSPDB60.DLL,那就在你的
Microsoft Visual Studio目录下搜索一下,拷贝到D:\Microsoft Visual
Studio\VC98\Bin下就行了。
如果需要对jacob里的jar包改名,(虽然通常不会发生这种情况,但如果你需要两个版本的jacob同时使用,改名可能是一种选择),这时你的工作就多一些:
(1)package改名是必须的了,比如我们把src下的com.jacob.activeX改为com.test.jacob.activeX,把
com.jacob.com改为com.test.jacob.com,打包时只有这两个包是有用的,所以只改它们就够了。
(2)然后修改build.xml中src.java.jacob.mainpackage的value为com.test.jacob,修改java.class.main的value为com.test.jacob.com.Jacob。
(3)别忘了javaJarBin中打包的源码路径也要改,<include name="com/**/*.class" />改为<include name="com/test/**/*.class" />。
(4)build.xml中对生成的dll和jar包也要改个名,比如我们把这两个文件改为jacob_test.dll和
jacob_test.jar。修改build.xml中的enerated.filename.dll和generated.filename.jar
的value为你新改的名字。
(5)com.test.jacob.com.LibraryLoader中,System.loadLibrary("jacob");改成
System.loadLibrary("jacob_test");
(6)另外,很重要的,在jni中*.cpp和*.h中com_jacob_com统一改为com_test_jacob_com,com/jacob
/com统一改为com/test/jacob/com。
(7)ant编译,编译好的文件在release目录下。
(8)最后把编译好的jacob_test.dll文件放在windows/system32下就大功告成了。
现在该用到jacob.jar了,如果你自己修改过jar包的名字,用新改的jar包,如jacob_test.jar,这里统一称为jacob.jar。
首先在classpath中引入jacob.jar包,如果是web应用,WEB-INF的lib中也要加入jacob.jar包。
下面给一个例子:
类ReplaceWord.java
import com.jacob.com.*;
import com.jacob.activeX.*;
public class ReplaceWord {
public static void main(String[] args) {
ActiveXComponent app = new ActiveXComponent("Word.Application"); //启动word
String inFile = "C:\\test.doc"; //要替换的word文件
try {
app.setProperty("Visible", new Variant(false)); //设置word不可见
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new
Object[] { inFile, new Variant(false),new Variant(false) }, new
int[1]).toDispatch();
//打开word文件,注意这里第三个参数要设为false,这个参数表示是否以只读方式打开,因为我们要保存原文件,所以以可写方式打开。
Dispatch
selection=app.getProperty("Selection").toDispatch();//获得对Selection组件
Dispatch.call(selection, "HomeKey", new Variant(6));//移到开头
Dispatch find = Dispatch.call(selection, "Find").toDispatch();//获得Find组件
Dispatch.put(find, "Text", "name"); //查找字符串"name"
Dispatch.call(find, "Execute"); //执行查询
Dispatch.put(selection, "Text", "张三"); //替换为"张三"
Dispatch.call(doc, "Save"); //保存
Dispatch.call(doc, "Close", new Variant(false));
} catch (Exception e) {
e.printStackTrace();
} finally {
app.invoke("Quit", new Variant[] {});
app.safeRelease();
}
}
}
也许你会问,我怎么知道要调用哪个方法传哪些参数来进行操作?别忘了,word还有宏呢!自己录制一个宏,编辑这个宏就可以看到代码了!用哪个对象的哪个方法就看你的了。
我总结了一下:
document下的组件都用Dispatch selection=app.getProperty("Selection").toDispatch()这种方法获得;
再往下的组件就需要调用selection的方法来获取,如 Dispatch find = Dispatch.call(selection, "Find").toDispatch();
如果某个方法需要参数,Dispatch doc =
Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { inFile, new
Variant(false),new Variant(false) }, new
int[1]).toDispatch()是一个例子,这是调用docs的Open方法,Object[]数组里就是它需要的参数了;
如果要修改某个组件的属性呢,用Dispatch.put(find, "Text", "name")这种形式,"Text"是属性名,"name"是值。
❺ 关于java中在线编辑word和excel
这个肯定要用ActiveX插件技术了,要么自己开发,要么用第三方的产品,个人感觉pageoffice相当不错。
虽然我回复的文字比较少,但的确是本人分析各个产品之后的结果。
❻ javaweb项目怎么实现在线编辑合同宓墓δ
其实就是Word在线编辑吧。
一般来说两种途径。一种是利用插件,比如PageOffice。好处是服务端有一整套的开发接口,劣势是需要安装插件,客户端需要有Word等Office应用程序安装,不同的客户端环境不同可能造成后继使用过程中的维护量。
还有一种是无插件的方式,Office 365就是典型的,不过如果是私有化部署,就不能用Office 365了。
还有一个是uzer.me,能提供无插件的原生Office编辑,提供JS SDK和REST API,各种编程语言都能对接。好处是无插件,劣势是只支持webRTC的浏览器,比如火狐、谷歌,360极速等,反正IE是不支持的(听说最近IE也能支持,但是要装插件了)。
还有一种在线编辑,是采用类似Word的模式,而实际更多是一个富文本的编辑器,这个用HTML就可以实现,有一些开源的工具的。无非是把Word和H5要格式互转。这个可能对于合同来说,容易丢失格式。如果格式是固定的话,会简单一些。
❼ Java Web 如何实现 在线打开word Ecel PTF 文件。 客户要求不能编辑复制。 用户只能查看这些文件
您用pageoffice,它支持所有的浏览器,可以轻松在线实现在线打开word Ecel PTF 文件,还有更多的优势。
❽ 如何通过javaweb实现在浏览器预览word内容
大概可以通过3种方法实现
1、让你的访问界面集成word在线插件,可直接在浏览器中访问word文件,不过这样的插件一般都是收费的
2、将word先转换为pdf文件,如果浏览器装了pdf插件可直接预览访问的
3、如果也可将word先转换为pdf文件,然后将pdf文件转换为swf文件,然后项目中集成swf访问插件,浏览器也可预览了
❾ java web 打开word
好了,我们要用到的就是微软的dsoframer控件,它是免费的,比第1个方案,功能稍强,这个控件没有详细研究,看了看别人的demo,感觉功能不强就没研究下去,附件中也有相关代码的,大家直接参考下好了.
第3个方案,另辟蹊径
既然微软这棵大树我们靠不住,就只能借助于第三方控件了,老外在这方向做得很牛X,方方面面的控件或插件都有,只有想不到,没有找不到…唉,中国啊…
这个控件是OfficeOCXSetup插件,当前版本是7.4.0.236,附件有此安装程序,安装完以后有各编程工具的示例,安装程序提供的示例只提供了简单的打开,关闭,保存等操作.