专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Web开发

最近实现了双平台下仿豆丁网百度文库阅读doc等文档的例子,分享给大家

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
最近实现了双平台下仿豆丁网百度文库阅读doc等文档的例子,分享给大家 - Web 开发 / 其他
http://blog.csdn.net/aimsam/article/details/6600983

上张效果图


Java平台要实现类似豆丁百度文科的文档在线阅读,总体思路是讲doc docx等文件格式利用openoffice转换成pdf再用swftools转为swf。再用flexpaper组件显示swf。

此过程涉及软件(实测)
openoffice3.2(window)
swftools-2011-01-23-1815.exe(window)
openoffice3.1.1(linux)
swftools-2011-01-23-1815.tar.gz(linux)
jar包jodconverter-2.2.2(里面lib目录下含多个要用到的jar文件)
flexpaper1.4.0 (直接复制过来,项目上运行成功,本地运行还没成功)
FlexPaper_1.4.5_flash(网上下载的最新版本没试过, 二选一即可)
附上自己写的java转换Demo DocConverter.java
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;

import com.artofsolving.jodconverter.DocumentConverter;
import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;
import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;


/**
* doc docx格式转换
* @author Administrator
*
*/
public class DocConverter {
private static final int environment = 1;//环境 1:windows 2:linux (只涉及pdf2swf路径问题)
private String fileString;
private String outputPath = "";//输入路径 ,如果不设置就输出在默认的位置
private String fileName;
private File pdfFile;
private File swfFile;
private File docFile;

public DocConverter(String fileString) {
ini(fileString);
}

/**
* 重新设置file
* @param fileString
*/
public void setFile(String fileString){
ini(fileString);
}

/**
* 初始化
* @param fileString
*/
private void ini(String fileString) {
this.fileString = fileString;
fileName = fileString.substring(0, fileString.lastIndexOf("."));
docFile = new File(fileString);
pdfFile = new File(fileName + ".pdf");
swfFile = new File(fileName + ".swf");
}

/**
* 转为PDF
* @param file
*/
private void doc2pdf() throws Exception{
if(docFile.exists()) {
if(!pdfFile.exists()) {
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(docFile, pdfFile);
// close the connection
connection.disconnect();
System.out.println("****pdf转换成功,PDF输出:" + pdfFile.getPath() + "****");
} catch (java.net.ConnectException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("****swf转换器异常,openoffice服务未启动!****");
throw e;
} catch (com.artofsolving.jodconverter.openoffice.connection.OpenOfficeException e) {
e.printStackTrace();
System.out.println("****swf转换器异常,读取转换文件失败****");
throw e;
} catch (Exception e){
e.printStackTrace();
throw e;
}
} else {
System.out.println("****已经转换为pdf,不需要再进行转化****");
}
} else {
System.out.println("****swf转换器异常,需要转换的文档不存在,无法转换****");
}
}

/**
* 转换成 swf
*/
private void pdf2swf() throws Exception{
Runtime r = Runtime.getRuntime();
if(!swfFile.exists()){
if(pdfFile.exists()) {
if(environment == 1){//windows环境处理
try {
Process p = r.exec("D:/TOOLS/SWFTools/pdf2swf.exe " +
pdfFile.getPath() + " -o " + swfFile.getPath() + " -T 9");
System.out.print(loadStream(p.getInputStream()));
System.err.print(loadStream(p.getErrorStream()));
System.out.print(loadStream(p.getInputStream()));
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • vs2010旗舰版新建网站有关问题

    vs2010旗舰版新建网站问题 vs2010旗舰版新建网站时会默认产生一些网页和母版,自己还得删除,有点麻烦。怎么样设置不让他自己产生一...

  • 作为一个才学html的小白,该如何处理

    作为一个才学html的小白 学了一个星期的html了,能用table设计一下版面了。准备这个星期学div了。 困惑是:现在在逼着自己尽量用纯...

  • 求推荐个收费空间解决方案

    求推荐个收费空间 需求 1.》=100m的空间,不需要其他插件 2.不需要数据库 3.较高的浏览速度 4.稳定和持久 5.希望是最高的性价比 ...

  • 请教有好看的登陆界面吗

    请问有好看的登陆界面吗 找了一上午了。。实在找不到。 请问有好看的登陆界面吗(没有明显主题), 要新颖 好看,融入新元素 ------解决...

  • 日日自学JS,一个月后有成绩吗

    天天自学JS,一个月后有成绩吗? 我是做前端开发的,目前就只会一些DIV+CSS,现在想学习JS,于是买了本JS书,书名叫《精通Javascript+JQuery...

  • 为何这张图下载到电脑就静止了?解决方案

    为何这张图下载到电脑就静止了? 为何这张图下载到电脑就静止了? http://ukgg.35free.net/uindex.htm 新买的WIN7操作系统。 ------...

  • 关于网页的ActiveX以及cab包自动有关

    关于网页的ActiveX以及cab包自动相关 我的网页上引用了一个: <object id="YstWatch" align="center" style="margin-left:-1px;ma...

  • 请教一下论坛有WEB开发 html的QQ群吗

    请问一下论坛有WEB开发 html的QQ群吗? 内容如上啊,有的友友分享下好吗?真心求教 求分享 感激!! ------解决方案--------------------...

  • IE6、IE7、IE8的优缺点和区别解决办法

    IE6、IE7、IE8的优缺点和区别 有一次面试的时候一个大神问我的问题,现在想起来了,贴出来,大家讨论下,来个大虾指点一二 ------解决方...

  • php 在网页下播放视频

    php 在网页上播放视频 php 在网页上播放视频支持多格式的,今天弄了一个只支持flv格式的,其它的只能听到声音看不到画图,请各位路过的...

热门推荐: