❶ 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,附件有此安裝程序,安裝完以後有各編程工具的示例,安裝程序提供的示例只提供了簡單的打開,關閉,保存等操作.