近日在項目中需要將word文檔嵌入到jsp頁面中,,遇到這個問題,,首先想到的解決方法便是將word內(nèi)容讀取,,然后放入jsp中,,可是這樣做有一個難點,,就是讀取word的格式,圖片以及表格等內(nèi)容,,由于在前幾日用過jacob將word轉(zhuǎn)換為pdf文件,,所以試想,能不能將word轉(zhuǎn)換為htm文件,,直接展示就容易很多,,經(jīng)過研究,果然可以做到,,步驟如下: 第一步 下載jacob 下載地址:http://www./download/ide/4107.html 第二步 解壓下載的文件,,將其中dll文件放入tomcat bin目錄和jdk的bin目錄下,將jacob.jar 放入項目的lib庫中,。 第三步 復制以下方法到任意類中,。 public boolean transWord2Htm(String docFile) { String HtmlFile = docFile.substring(0, (docFile.length() - 4)) + ".htm"; ActiveXComponent app = new ActiveXComponent("Word.Application"); try { app.setProperty("Visible", new Variant(false)); Dispatch docs = app.getProperty("Documents").toDispatch(); Dispatch doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[] { docFile, new Variant(false),new Variant(true) }, new int[1]).toDispatch(); //打開word文件 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {HtmlFile, new Variant(8)}, new int[1]); //作為htm格式保存文件 Dispatch.call(doc, "Close", new Variant(false)); } catch (Exception e) { e.printStackTrace(); return false; } finally { app.invoke("Quit", new Variant[] {}); } return true; } 第四部 調(diào)用以上方法即可。其中參數(shù)String docFile為word文件的絕對路徑,,例如:C:\\a.doc,,如果是在servlet中或者action中,調(diào)用 request.getSession().getServletContext().getRealPath("/")即可獲得項目的絕對路徑,。 運行以后,,會在doc目錄下生成同名的htm文件和一個htm文件夾,存放圖片等資源,,直接調(diào)用即可,。 |
|