java实现访百度文库、道客巴巴、豆丁阅读
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
java实现访百度文库、道客巴巴、豆丁阅读
2013-01-14
文/叶秋雨
前言:
最近在帮一个学校做培训系统,里面有一个模块是课程在线学习(笼统的讲就是在线预览word/ppt之类的)。由于学校要求文档是保密的,只能在线预览,不提供下载、复制等操作。因此,我们想到了百度文库、道客巴巴、豆丁阅读等实现方式。前期在网上找了很多资料,也请教了部分网友。但总是觉得网上写的不是那么的详细,很多很多都是直接复制,有些地方没有做必要的提示。所以想把自己的实现方式写下来,供大家参考。写的不好,请大家多多指教。
实现方式(来源于网络):
·方式一
Txt/Word/Excel/PPT=>PDF(OpenOffice+JodConverter)=>SWF(pdf2swf)=>Flex Paper
·方式二
Txt/Word/Excel/PPT=>PDF(MSOffice+JACOB)=>SWF(pdf2swf)=>FlexPaper ·方式三
Txt/Word/Excel/PPT=>SWF (FlashPaper)=> FlexPaper
·方式四
Txt/Word/Excel/PPT=>SWF(print2flash)=> FlexPaper
在此,我选择了第一种方式,选择其他三种方式的人,欢迎百度hi我进行交流。
工具支持:
OpenOffice、JodConverter、Swftools(pdf2swf)、FlexPaper
至于下载地址,我本来想附上的(因为我前面写过几篇技术整合文档,都附上了相应的工具下载地址),但我相信在搜索引擎这么强大的今天,身为技术人员的你,会有办法的,所以本人以后的技术文档,不再附上相应的工具下载地址,请自行搜索下载,如实在解决不了,请联系我(文档最后会附上联系方式)。
具体实现:
备注:
本人的开发环境(工具)为:
Microsoft Windows XP SP3
eclipse3.7.0
jdk1.6.0_29
apache-tomcat-7.0.20
第一步:
·下载工具OpenOffice、JodConverter、Swftools(pdf2swf)、FlexPaper ·安装OpenOffice,本人的安装路径为:C:\Program Files\ 3 ·安装Swftools(pdf2swf),本人的安装路径为:D:\Program Files\SWFTools
第二步:
·打开eclipse,新建工程readonline。
·解压jodconverter-2.2.2.zip,把压缩包中lib目录下的jar包放到工程WEB-INF/lib中,如下图:
·在工程readonline下的WebRoot下新建flexpaper文件夹,然后把下载的FlexPaper_1.4.5_flash.zip解压缩后的内容放到该文件夹中,如下图:
第三步:
·新建servlet包,然后在包下面新建ConvertServlet类,代码如下:package servlet;
import java.io.File;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.artofsolving.jodconverter.DocumentConverter;
import
com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnect ion;
import
com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeC onnection;
import
com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocument Converter;
public class ConvertServlet extends HttpServlet{
private File sourceFile; //转换源文件
private File pdfFile; //PDF目标文件
private File swfFile; //SWF目标文件
private Runtime r;
public void init() throws ServletException {
//注意路径
sourceFile = new File("G:/
apache-tomcat-7.0.20/webapps/readonline/swfFile/s.ppt");
pdfFile = new File("G:/
apache-tomcat-7.0.20/webapps/readonline/swfFile/s.pdf");
swfFile = new File("G:/
apache-tomcat-7.0.20/webapps/readonline/swfFile/s.swf");
System.out.println("第一步:生成文件对象,准备转换");
}
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
//转换成pdf文件
if(sourceFile.exists()) {
if(!pdfFile.exists()) {
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(sourceFile, pdfFile);
pdfFile.createNewFile();
connection.disconnect();
System.out.println("第二步:转换为PDF格式路径" + pdfFile.getPath());