Java仿文库的基本方法
基本步骤:
1、将要展示的office文件 转换成 PDF, 使用工具 openoffice
2、将PDF文件转换成swf ,实用工具swftools
3、使用flexPaper,显示转换后的swf文件。
基础代码:没有任何校验
1、openoffice转换pdf
下载地址:https://www.openoffice.org/zh-cn/
实用工具: jodconverter-2.2.2 引入所需jar,直接将所有jar都扔进来了
首先、下载openOffice软件,并安装,使用dos命令开启服务,就是cmd了,我安装在了C盘
命令如下:执行效果
C:\Program Files (x86)\OpenOffice 4\program>soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard
启动后,执行以下命令 doc文件为原始文件,转换成pdf
File inputFile = new File("D:\\大数据及应用.doc"); File outputFile = new File("D:\\大数据及应用.pdf"); OpenOfficeConnection connection = new SocketOpenOfficeConnection( "127.0.0.1", 8100); connection.connect(); // convert DocumentConverter converter = new OpenOfficeDocumentConverter( connection); converter.convert(inputFile, outputFile); // close the connection connection.disconnect();
2、swftools将PDF转换swf
下载地址:http://www.swftools.org/download.html
首先安装swftools工具,我是windows 下载exe文件,直接安装,
注:文件夹不要有空格,有空格不识别 如 program file 文件夹下 不好使
我安装在了D盘根目录下,该方法来源于网络,资料找的太多不记得从哪位大侠哪拷来得了,
还要注意下面代码被我改成windows的命令了,linux不生效。
public static int convertPDF2SWF(String sourcePath, String destPath, String fileName) throws IOException { //目标路径不存在则建立目标路径 File dest = new File(destPath); if (!dest.exists()) dest.mkdirs(); //源文件不存在则返回 File source = new File(sourcePath); if (!source.exists()) return 0; //调用pdf2swf命令进行转换 String command = "D:\\SWFTools\\pdf2swf.exe " + sourcePath + " -o " + destPath + fileName + " -f -T 9 " ; System.out.println(command); Process pro = Runtime.getRuntime().exec(command); BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream())); while (bufferedReader.readLine() != null); try { pro.waitFor(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } return pro.exitValue(); }
4、flexPaper显示swf
下载地址:http://static.devaldi.com/GPL/FlexPaper_2.2.4.zip
jsp代码如下
该文件:FlexPaperViewer.swf
<!--首先要引入jquery库及相关的js 下载包里面 找--> <script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/flexpaper_flash.js"></script> <script type="text/javascript" src="js/flexpaper_flash_debug.js"></script>
body内如下
<div style="position:absolute;left:10px;top:10px;"> <a id="viewerPlaceHolder" style="width:1260px;height:780px;display:block"></a> <script type="text/javascript"> var fp = new FlexPaperViewer( 'FlexPaperViewer', 'viewerPlaceHolder', <!--对应于a 标签的id--> { config : { SwfFile : decodeURI('aaa.swf'), <!--引入的swf文件,decodeURI 解决中文文件名问题--> Scale : 0.6, ZoomTransition : 'easeOut', ZoomTime : 0.5, ZoomInterval : 0.2, FitPageOnLoad : true, FitWidthOnLoad : false, PrintEnabled : true, FullScreenAsMaxWindow : false, ProgressiveLoading : false, MinZoomSize : 0.2, MaxZoomSize : 5, SearchMatchAll : false, InitViewMode : 'Portrait', ViewModeToolsVisible : true, ZoomToolsVisible : true, NavToolsVisible : true, CursorToolsVisible : true, SearchToolsVisible : true, localeChain: 'zh_CN' <!--改成这个显示中文--> }}); </script> </div>
执行效果:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。
translated_page: https://github.com/PX4/Devguide/blob/master/en/simulation/sitl.md translated_sha: 95b39d747851dd01c1fe5d36b24e59ec865e323e 软件在环仿真 (SITL) 软件在环仿真是在主机上运行一个完整的系统并模拟自驾仪。它通过本地网络连接到仿真器。 设置成如
SWF Tools 是一组用来处理 Flash 的 swf 文件的工具包,包括: 1. 合并工具 swfcombine 2. 抽取工具 swfextract 3. PDF/JPEG/PNG/AVI/TTF/WAV 到 SWF 的转换工具 :pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, and wav2swf| 4. 文本解析工具 swfstrings
问题内容: 我在使用Java中的基本递归问题时遇到了很多麻烦;任何指针都很棒。 “写一种静态递归方法来打印出几何序列的第n个项:2、6、18、54。” 据我所知,我应该在代码中的某处递归地将某物乘以3,但我一直在努力寻找方法。我知道我需要终止声明,但是何时发生?我需要帮手方法吗? 问题答案: 一个递归函数是一个函数,它的实现引用自身。以下是一些有趣的示例: 解决问题的方法: 编辑 : 上面的类使用
问题内容: 这个周末,我花了几分钟时间讨论一种算法,该算法将采用一个标题(以度为单位)并返回一个基数方向的String(我正在我使用的android指南针应用程序中使用它)。我最终得到的是: 我的问题是,这是最好的方法吗?尽管我还没有在网上搜索示例,但它必须做过很多次。是否有其他人尝试过此方法并找到了更整洁的解决方案? 编辑The Reverand’s Thilo’s,shinjin’s和Chrs
OpenOffice.org 是一套跨平台的办公室软件套件,能在 Windows、Linux、MacOS X (X11)、和 Solaris 等操作系统上执行。它与各个主要的办公室软件套件兼容。OpenOffice.org 是自由软件,任何人都可以免费下载、使用、及推广它。OpenOffice.org 的主要模块有Writer(文本文档)/Calc(电子表格)/Impress(演示文稿)/Math