開源的方法是用:openoffice+swfTool +jodconverter文件預覽;
原理是:將word轉成pdf,再轉成swf文件通過falsh實現在線預覽
⑵ 如何java程序將 word轉換成html-CSDN論壇
Dispatch wordfile = Dispatch.invoke(
wordacc,
"Open",
Dispatch.Method,
new Object[] { ls_word, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
Dispatch.invoke(wordfile, "SaveAs", Dispatch.Method, new Object[] {
ls_html, new Variant(8) }, new int[1]);
Variant f = new Variant(false);
// 編寫 生成的html
Dispatch.call((Dispatch) wordfile, "Close", (Object) f);
在執行Dispatch.invoke(wordfile, "SaveAs", Dispatch.Method, new Object[] {
ls_html, new Variant(8) }, new int[1]);
jacob.jar
jacob-1.14-x86.dll jacob-1.14-x64.dll 這些的位置有什麼要求
拋出異常 路徑絕對沒有錯
com.jacob.com.ComFailException: Invoke of: SaveAs
Source: Microsoft Word
Description: 這不是有效文件名。
請試用下列方法:
* 檢查路徑,確認鍵入無誤。
* 從文件和文件夾列表中選擇文件。
at com.jacob.com.Dispatch.invokev(Native Method)
at com.jacob.com.Dispatch.invokev(Dispatch.java:858)
at com.jacob.com.Dispatch.invoke(Dispatch.java:502)
⑶ 如何通過javaweb實現在瀏覽器預覽word內容
大概可以通過3種方法實現
1、讓你的訪問界面集成word在線插件,可直接在瀏覽器中訪問專word文件,不過這樣的插屬件一般都是收費的
2、將word先轉換為pdf文件,如果瀏覽器裝了pdf插件可直接預覽訪問的
3、如果也可將word先轉換為pdf文件,然後將pdf文件轉換為swf文件,然後項目中集成swf訪問插件,瀏覽器也可預覽了
⑷ 用java做一個word和excel的在線預覽功能,跪求代碼
前提:本人的系統為Ubuntu13.1064位系統。本篇是我在配置好環境後一段時間寫的,所以操作上可能會有也錯誤,因此僅供參考。 搜索在線顯示office和pdf,最常見的方法就是把都轉為swf,然後通過FlexPaper顯示。這個方法有缺點,FlexPaper不支持所有瀏覽器(我只能在chrome中使用,firefox要進行設置) 我用的系統是Ubuntu13.1064位 一下所提到的軟體,我都會在附件中分享 一、openoffice安裝 下載附件中的Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN,解壓,安裝RPMS裡面的所有deb包,然後按炸ungRPMS/desktop-integration裡面的openoffice.org3.4-redhat-menus_3.4-9594_all.deb。假如從網上下載下來的openoffice裡面全市rmp包的話需要自己通過alien轉換成deb(附件中的是我自己轉換過的) 安裝完成後就可以運行了 soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard 網上提示使用soffice--headless--accept="socket,host=127.0.0.1,port=8100;urp;"--nofirststartwizard&的是後台運行 運行以後可以通過netstat-ano|grep8100查看時候運行,上面的命令是在8100運行oppenoffice 網上還說要安裝OpenOfficeSDK3.3這個東東,我沒有裝也可以轉換 二、offie轉pdf 下載附件中的jodconverter-2.2.2,通過命令 java-jarjodconverter-2.2.2/lib/jodconverter-cli-2.2.2.jarXXX.docxXXX.pdf 轉換office為pdf 三、安裝freetype-2.4.6和jpeg-8c 不安裝這兩個的話是沒有辦法編譯出swftools中的pdf2swf的 安裝方法是進入目錄,然後 ./configure make makeinstall 四、添加字體 下載附件中的chinese-simplified(裡面已經添加了部分字體),解壓,放到/usr/local/share/xpdf/中,如果沒有xpdf文件夾就新建一個。 五、安裝swftools 下載附件中的swftools-2013-04-09-1007,同樣 ./configure make makeinstall 就可以了,運行 psf2swf 如果help提示的話表示安裝成功 運行命令 pdf2swf-oXXX.swf-T-z-t-fXXX.pdf-slanguagedir=/usr/local/share/xpdf/chinese-simplified-sflashversion=9 可以把pdf轉換成swf了。 至此完畢 所有附件附件:
⑸ java 把office word,ppt轉化為圖片
從一個大神那裡學來的,已測試無誤
package com;
import java.awt.Dimension;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.geom.Rectangle2D;
import java.awt.image.BufferedImage;
import org.apache.poi.hslf.model.TextRun;
import org.apache.poi.hslf.usermodel.RichTextRun;
import org.apache.poi.hslf.usermodel.SlideShow;
public class ExportPPT {
public static void main(String[] args) {
// 讀入PPT文件
File file = new File("D:\\UPH.ppt");
doPPTtoImage(file);
}
public static boolean doPPTtoImage(File file) {
boolean isppt = checkFile(file);
if (!isppt) {
System.out.println("The image you specify don't exit!");
return false;
}
try {
FileInputStream is = new FileInputStream(file);
SlideShow ppt = new SlideShow(is);
is.close();
Dimension pgsize = ppt.getPageSize();
org.apache.poi.hslf.model.Slide[] slide = ppt.getSlides();
for (int i = 0; i < slide.length; i++) {
TextRun[] truns = slide[i].getTextRuns();
for (int k = 0; k < truns.length; k++) {
RichTextRun[] rtruns = truns[k].getRichTextRuns();
for (int l = 0; l < rtruns.length; l++) {
rtruns[l].setFontIndex(1);
rtruns[l].setFontName("宋體");
}
}
BufferedImage img = new BufferedImage(pgsize.width, pgsize.height,
BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
graphics.setPaint(Color.BLUE);
graphics.fill(new Rectangle2D.Float(0, 0, pgsize.width, pgsize.height));
slide[i].draw(graphics);
// 這里設置圖片的存放路徑和圖片的格式(jpeg,png,bmp等等),注意生成文件路徑
File path = new File("D:/images");
if (!path.exists()) {
path.mkdir();
}
FileOutputStream out = new FileOutputStream(path + "/" + (i + 1)
+ ".jpg");
javax.imageio.ImageIO.write(img, "jpeg", out);
out.close();
}
System.out.println("success!!");
return true;
} catch (FileNotFoundException e) {
System.out.println(e);
} catch (IOException e) {
}
return false;
}
// function 檢查文件是否為PPT
public static boolean checkFile(File file) {
boolean isppt = false;
String filename = file.getName();
String suffixname = null;
if (filename != null && filename.indexOf(".") != -1) {
suffixname = filename.substring(filename.lastIndexOf("."));
if (suffixname.equals(".ppt")) {
isppt = true;
}
return isppt;
} else {
return isppt;
}
}
}