富文本展示环境搭建及详解

来源:网络收集 时间:2025-06-24 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

最近项目中要求在阅读文档的时候要实现百度文档那样的展示方式,自己在网上搜了很多关于该方面的技术,总结一下:

工具: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.gz [root~]# tar xf Apache_OpenOffice_incubating_3.4.1_Linux_x86-64_install-rpm_zh-CN.tar.gz [root~]# cd zh-CN [root~]# cd RPMS [root~]#rpm -ivh *.rpm

进入安装目录 (记录好安装路径) [root~]#cd /opt/openoffice/program

执行命令:soffice-headless -accept=\②安装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.gz cd freetype-2.4.8 ./configure make

make install

tar -xzvf jpegsrc.v8c.tar.gz cd jpeg-8c ./configure make

make install

接下来安装swftools-2013-04-09-1007.tar.gz tar -xzvf swftools-2013-04-09-1007.tar.gz cd swftools-2013-04-09-1007

ldconfig /usr/local/lib //这一步很重要,不然会报错 ./configure make

make 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(\ log.info(\为\

officeManager = getConverter(OpenOffice_HOME).buildOfficeManager(); officeManager.start(); OfficeDocumentConverter converter = new OfficeDocumentConverter(officeManager);

converter.convert(inputFile, outputFile); return 0; }catch(Exception e){

log.info(\转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(\

String languagedir = PropertiseUtils.getInstance().getProperties(\//这个是存放xpdf-chinese-simplified语言包的路径

String c = \9 -s poly2bitmap -s zoom=150 -s flashversion=9\

Process p = null;

log.info(\该系统的操作系统为\执行的命令行为\ if(\

p=exe.exec(\ }else if(\ p=exe.exec(c); }else{

log.info(\暂时支持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) {

log.info(\转换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.swf var fp = new FlexPaperViewer(

'${basePath}scripts/flexpaper/Paper',

//这个用的Paper.swf自己写的 ${basePath}scripts/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, MaxZoomSize : 5, EncodeURI : true,

SearchMatchAll : false, InitViewMode : 'Portrait', ViewModeToolsVisible : true, ZoomToolsVisible : true, NavToolsVisible : true, CursorToolsVisible : true, SearchToolsVisible : true,

localeChain: 'zh_CN' }}); }

html:

百度搜索“70edu”或“70教育网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,70教育网,提供经典综合文库富文本展示环境搭建及详解在线全文阅读。

富文本展示环境搭建及详解.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.70edu.com/wenku/302936.html(转载请注明文章来源)
Copyright © 2020-2025 70教育网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备16052595号-17
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219