今天在网上看到一个关于pdf在线阅读系统实现思路,突发的对这个特别有兴趣,所以就在网上东搜搜,西找找的,查找了一些资料。发现实现这个功能需要这些第三方插件。

      1. OpenOffice,jodconverter   用于转换 doc,ppt,txt..至pdf格式文件

      2.SWFTools 用与将pdf文件转换成swf文件,主要用到SWFTools里面的pdf2swf.exe这个工具

      3.FlexPaper 用于在浏览器中显示所转换得到的swf文件,用这个显示效果比较好。

     一。下载安装OpenOffice,这个可以直接在SUN官网上下载,安装好后,需要启动OpenOffice服务,启动过程是:启动命令界面,转到OpenOffice安装目录下的program目录下,

             输入“soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard”回车即可启动OpenOffice服务,然后下载jodconverter  ,将jar包导入。

下面是实现转换成pdf的代码

 1 try {
 2     File inputFile = new File("D:\\1.doc");
 3     File outputFile = new File("D:\\11.pdf");
 4 
 5     OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
 6     connection.connect();
 7     DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
 8     converter.convert(inputFile, outputFile);
 9     connection.disconnect();
10 } catch (ConnectException e) {
11     // TODO Auto-generated catch block
12     e.printStackTrace();
13 }
  二。下载  SWFTools 工具包,利用Process pro = Runtime.getRuntime().exec("pdf2swf -11.pdf -o 111.swf");这样就可以转换pdf文件为swf文件了。
  三。下载FlexPaper,用户显示swf文件显示代码如下
 1 <script type="text/javascript" src="js/swfobject/swfobject.js"></script>
 2   <script type="text/javascript">
 3             var swfVersionStr = "10.0.0";
 4             var xiSwfUrlStr = "playerProductInstall.swf";
 5             var flashvars = {
 6                   SwfFile : escape("111.swf"),
 7       Scale : 0.6,
 8       ZoomTransition : "easeOut",
 9       ZoomTime : 0.5,
10         ZoomInterval : 0.1,
11         FitPageOnLoad : false,
12         FitWidthOnLoad : true,
13         PrintEnabled : true,
14         FullScreenAsMaxWindow : false,
15         ProgressiveLoading : true,
16 
17         PrintToolsVisible : true,
18         ViewModeToolsVisible : true,
19         ZoomToolsVisible : true,
20         FullScreenVisible : true,
21         NavToolsVisible : true,
22         CursorToolsVisible : true,
23         SearchToolsVisible : true,
24         localeChain: "zh_CN"
25       };
26 
27     var params = {
28 
29        }
30             params.quality = "high";
31             params.bgcolor = "#ffffff";
32             params.allowscriptaccess = "sameDomain";
33             params.allowfullscreen = "true";
34             var attributes = {};
35             attributes.id = "FlexPaperViewer";
36             attributes.name = "FlexPaperViewer";
37             swfobject.embedSWF(
38                 "FlexPaperViewer.swf", "flashContent",
39                 "780", "650",
40                 swfVersionStr, xiSwfUrlStr,
41                 flashvars, params, attributes);
42    swfobject.createCSS("#flashContent", "display:block;text-align:left;");
43         </script>
44 
45 <div id="flashContent"> </div> 
至此就可以顺利显示用户上传的doc文件或ppt文件等等。

------------------完-------------------


posted on 2012-08-23 15:51  云 娜Blog  阅读(741)  评论(0编辑  收藏  举报