




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
最近项目中要求在阅读文档的时候要实现百度文档那样的展示方式,自己在网上搜了很多关于该方面的技术,总结一下:工具:openoffice(该工具可以将doc,excel等文件转化成pdf文件) swftools(该工具则是将pdf文件转换成swf文件) flexpaper(该工具则是用于在jsp界面中编写实现文档的展示) xpdf-chinese-simplified(语言包,pdf转化swf时不会乱码) jodconverter-core-3.0-beta-4(编码实现doc,execl转换成pdf时要导入的jar包)步骤:在安装这些工具之前首先要有相应的支持环境。包括jdk,如果是linux还要安装gcc环境。首先安装openoffice。在windows下安装2013-10-18_Apache_OpenOffice_4.0.1_Win_x86_install_zh-CN.exe(这个就不详细叙述,记住安装路径)在linux安装Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN.tar.gzroot# tar xf Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN.tar.gzroot# cd zh-CNroot# cd RPMSroot#rpm -ivh *.rpm进入安装目录 (记录好安装路径)root#cd /opt/openoffice/program执行命令:soffice-headless -accept=socket,host=,port=8100;urp;-nofirststartwizard &安装swftools工具。在windows下直接安装swftools-0.9.0.exe,安装成功后打开cmd,输入pdf2swf看是否安装成功在linux安装swftools要准备两个工具包(freetype-2.4.8.tar.gz,jpegsrc.v8c.tar.gz)tar -xzvf freetype-2.4.8.tar.gzcd freetype-2.4.8./configuremakemake installtar -xzvf jpegsrc.v8c.tar.gzcd jpeg-8c./configuremakemake install接下来安装swftools-2013-04-09-1007.tar.gztar -xzvf swftools-2013-04-09-1007.tar.gzcd swftools-2013-04-09-1007ldconfig /usr/local/lib /这一步很重要,不然会报错./configuremakemake install提示:在安装swftools工具时除了gcc环境,还需要zlib-devel,libjpeg-devel,giflib-devel。(例如没有zlib-devel,在./configure的步骤中则会报错you need zlib to compile swftools)可以通过输入rpm -qa zlib-devel来查看是否安装,如果没有输入yum install zlib-devel如果报错no pakage zlib-devel avaliable 则需要手动去网上下载一个zlib-devel-1.2.3-141.1.x86_64.rpm(看清楚linux是32位还是64位)安装好其他环境可以按照该步骤一一搭建好 环境搭建好后再按照上述重新安装swftools工具安装好了后输入pdf2swf可以检测是否安装成功java编程实现doc-pdf-swf首先将jodconverter-core-3.0-beta-4中的jodconverter-core-3.0-beta-4.jar导入到工程下话不多说贴代码private DefaultOfficeManagerConfiguration getConverter(String OpenOffice_HOME) DefaultOfficeManagerConfiguration configurate = new DefaultOfficeManagerConfiguration(); configurate.setOfficeHome(OpenOffice_HOME); configurate.setPortNumber(8100); configurate.setTaskExecutionTimeout(10000*60*5L); configurate.setTaskQueueTimeout(1000*60*60*24L); return configurate; /该方法是将doc文件转换成pdf文件,sourceFile是doc源文件,destFile是pdf目标文件 public int office2PDF(String sourceFile,String destFile) OfficeManager officeManager = null; try File inputFile = new File(sourceFile); if(!inputFile.exists() return -1; File outputFile = new File(destFile); /OpenOffice_HOME 就是openoffice安装路径,我是用配置文件进行管理 如openOffice_home=C:Program Files (x86)OpenOffice 4 String OpenOffice_HOME = PropertiseUtils.getInstance().getProperties(openOffice_home); (openoffice_home为+OpenOffice_HOME); officeManager = getConverter(OpenOffice_HOME).buildOfficeManager(); officeManager.start(); OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager); converter.convert(inputFile, outputFile); return 0; catch(Exception e) (word转pdf出错了); e.printStackTrace(); return -1; finally if(officeManager != null) officeManager.stop();/该连接一定要记得关 /该方法是将pdf文件转换为swf文件,sourceFile为pdf源文件,destFile为swf目标文件public int pdf2Swf(String sourceFile,String destFile) Runtime exe = Runtime.getRuntime(); InputStream is = null; BufferedReader br = null; try String os = PropertiseUtils.getInstance().getProperties(os); String languagedir = PropertiseUtils.getInstance().getProperties(langDir);/这个是存放xpdf-chinese-simplified语言包的路径 String c = pdf2swf -o +destFile+ -t +sourceFile+ -s languagedir=+languagedir+ -T 9 -s poly2bitmap -s zoom=150 -s flashversion=9; Process p = null; (该系统的操作系统为+os+;执行的命令行为+c); if(windows.equals(os) p=exe.exec(cmd.exe /c +c); else if(linux.equals(os) p=exe.exec(c); else (暂时支持windows和linux操作系统); is = p.getInputStream(); br = new BufferedReader(new InputStreamReader(is); String s_ = null; StringBuffer sb = new StringBuffer(); while(s_ = br.readLine()!=null) sb.append(s_); System.out.println(sb.toString(); catch (IOException e) (pdf转换swf出错了); e.printStackTrace(); return -1; finally try if(null != br) br.close(); if(null != is) is.close(); catch (IOException e) return 0; 通过程序将doc-pdf-swf通过flexpaper组件将swf文件在页面上展示导入flexpaper_flash.js,FlexPaperViewer.swfvar fp = new FlexPaperViewer( $basePathscripts/flexpaper/Paper,/这个用的Paper.swf自己写的 $basePathscripts/flexpaper/FlexPaperViewer viewerPlaceHolder, config : SwfFile : encodeURI($swf_filepath), /swf文件存放路径 编码防止乱码找不到中文文件 Scale : 0.6, ZoomTransition : easeOut, ZoomTime : 1, ZoomInterval : 0.4, FitPageOnLoad : false, FitWidthOnLoad : false, PrintEnabled : true, FullScreenAsMaxWindow : false, ProgressiveLoading : false, MinZoomSize : 0.4, MaxZoomS
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建省莆田市某校2024-2025学年四年级上学期第一次月考数学试题
- 单元考点必刷卷 (一)(含答案)我上学啦 2025-2026学年北师大版一年级数学上册
- 高升专考试题及答案
- 校园体育文化特征主要包括
- 批判现实主义绘画课件
- 93阅兵精神主题班会学习阅兵精神争做时代少年
- 2025年多媒体电脑超声诊断仪项目发展计划
- 2025年保育师考试面试真题及答案
- 2025年入学拼音考试题目及答案
- 慢性乙肝肝炎课件
- 防高处坠落-物体打击专项施工方案
- 数据文化与我国时空大数据的发展
- 2021年中国华电集团公司组织架构和部门职能
- 现代生物技术教学课件
- 教科版八年级物理上册第4章第7节通过透镜看世界ppt课件
- 20-100t桥式行车拆除施工方案32
- 大洁王枪水MSDS
- 国标法兰尺寸对照表
- 德国DVGW543标准
- 安全生产资金投入计划
- 四川建筑工程测量放线施工方案
评论
0/150
提交评论