标签:des style blog color io os 使用 ar java
什么是flexpaper?
FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用, 使在Flex中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。它可以被当做Flex的库来使用。
首先,将pdf文件转换为swf(其他格式的文件需要先转换为pdf)。这里需要使用SwfTools。
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 -1; } //cd 路径 String[] envp = new String[1]; envp[0] = "PATH="+SWFTOOLS_PATH; //SWFTOOLS_PATH为swftools的安装路径 //cmd 指令制定哪一个exe文件即可, String command = "cmd /c \""+SWFTOOLS_PATH+"pdf2swf\" -z -s flashversion=9 " + sourcePath + " -o " + destPath + fileName ; //System.out.println("command: " + command); //如果子进程应该继承当前进程的环境(path=),envp该参数为 null。 //String path = System.getProperty("java.library.path"); //其中每个元素的环境变量的设置格式为 name=value Process pro = Runtime.getRuntime().exec(command, envp); //获取子进程的输入流 BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(pro.getInputStream())); while (bufferedReader.readLine() != null) { //清空process.getInputStream()的缓冲区 //高级的做法是可以单独启动一个线程来做这件事 } // new Thread(new Runnable() { // public void run() { // BufferedReader br = new Buffered(new InputStreamReader(is)); // while(br.readLine() != null) ; // } // }.start(); try { //导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止 pro.waitFor(); } catch (InterruptedException e) { e.printStackTrace(); } //返回子进程的出口值,但是输出流没有什么用,因为文件已经生成了 return pro.exitValue(); }
下载flexpaper,解压到网页目录下
在页面调用flexpaper
<!--首先要引入jquery库及相关的js--> </style> <script type="text/javascript" src="flexpaper/js/flexpaper_flash.js"></script> <script type="text/javascript" src="flexpaper/js/flexpaper_flash_debug.js"></script> <script type="text/javascript" src="flexpaper/js/jquery.js"></script> </head> <body>
在html的代码中声明一个<a></>标签
<body> <div style="position:absolute;left:10px;top:10px;"> <a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a> <script type="text/javascript"> var fp = new FlexPaperViewer( ‘flexpaper/FlexPaperViewer‘, <!--flexpaper的目录--> ‘viewerPlaceHolder‘, <!--对应于a 标签的id--> { config : { SwfFile : escape(‘paper.swf‘), <!--SwfFile: 指示导入的.swf的路径--> Scale : 0.6, ZoomTransition : ‘easeOut‘, ZoomTime : 0.5, ZoomInterval : 0.2, FitPageOnLoad : true, FitWidthOnLoad : true,//适合初始页宽度大小的装载页
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: ‘en_US‘ }}); </script> </div> </body>
标签:des style blog color io os 使用 ar java
原文地址:http://www.cnblogs.com/vitosun/p/4005380.html