博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Flexpaper实现仿百度文库的效果
阅读量:5307 次
发布时间:2019-06-14

本文共 2097 字,大约阅读时间需要 6 分钟。

在工作中遇到以下需求:前台显示的内容只允许客户浏览,不允许客户copy和下载。解决方案:使用Flexpaper实现仿百度文库的效果。

需要的工具:1、PDF转换工具SWFTools;2、FlexPaper;

我们使用SWFTools的pdf2swf.exe将pdf转换为swf:

StringBuffer command = new StringBuffer();String destPath= destPath.substring(0, destPath.lastIndexOf("\\"));//swf路径 command.append("....\pdf2swf.exe"); command.append(" -t ");command.append(" -f "); command.append(sourcePath);//pdf路径 command.append(" -s flashversion=9 -o ");command.append(destPath);command.append(fileName);//swf文件名字		 Process pro = Runtime.getRuntime().exec(command.toString());System.out.println("生成SWF文件开始...");BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(pro.getInputStream()));while (bufferedReader.readLine() != null);  try {	pro.waitFor();   } catch (InterruptedException e) {	e.printStackTrace();   }System.out.println("生成SWF文件结束...");pro.destroy();

 用Flexpaper播放转换成的swf:

其中'<%=request.getContextPath()%>/flexPager/FlexPaperViewer'是指用Flexpaper下的FlexPaperViewer播放器来播放。

关于Flexpaper的参数含义参看

下面是我从网上找的参数含义:

-h , –help                   打印帮助信息
-V , –version                打印版本号
-o , –output file.swf        指定输出的swf文件名
-p ,
pages range             指定转换的页面范围1-20 或者1,4,6,9-11,使用的页码描述方法与打印机打印文件时候的选页一样
-P , –password password      指定打开pdf的密码
-v , –verbose                转换时输出详细的内容
-z , –zlib                   使用Flash 6的zlib压缩机制
-i , –ignore                 允许程序修改pdf的绘制顺序,可能会导致结果与原来有差异
-j , –jpegquality quality    设置转换其中的jpeg图片的质量,从0到100,默认值是85。
-s , –set param=value        设置SWF转码时候的参数,具体参数可以用pdf2swf -s help获取
-w , –samewindow             设置转换后的swf打开原pdf中的连接时使用相同的窗口
-t , –stop                   在每页结尾添加一个stop()命令
-T , –flashversion num       设置SWF所使用的flash版本号
-F , –fontdir directory      指定字体文件所在路径
-b , –defaultviewer          指定默认的swf导航文件,用来翻页、放大缩小等等
-l , –defaultloader          指定默认的swf加载文件,用来显示加载进程效果
-B , –viewer filename        指定swf导航文件,作用同-b
-L , –preloader filename     指定swf加载文件,作用同-l
-q , –quiet                  不打印普通信息,用-qq就不打印警告信息。
-S , –shapes                 不使用字体,所有都转为形状。
-f , –fonts                  在swf中保存全部字体。
-G , –flatten                在文件中尽量去除影片层,合并它们
-I , –info                   不做实际转换,仅显示PDF的信息。
-Q , –maxtime n              如果运行时间超时则退出。

示例图:

 

本例参数说明:

-t:源文件路径,即待转换的pdf文件路径

-f:在swf中保存全部字体

-s:转换成swf的版本,最好9版本以上

-o: 输出swf文件的路径

注意:如果在将pdf转换成swf时没有加参数-f,则在Flexpaper中使用搜索功能时,搜索结果就不能高亮显示。

转载于:https://www.cnblogs.com/yzy-lengzhu/archive/2012/12/07/2807379.html

你可能感兴趣的文章
Sprint阶段测试评分总结
查看>>
sqlite3经常使用命令&amp;语法
查看>>
linux下编译openjdk8
查看>>
【python】--迭代器生成器装饰器
查看>>
Pow(x, n)
查看>>
安卓当中的线程和每秒刷一次
查看>>
每日一库:Modernizr.js,es5-shim.js,es5-safe.js
查看>>
ajax连接服务器框架
查看>>
wpf样式绑定 行为绑定 事件关联 路由事件实例
查看>>
利用maven管理项目之POM文件配置
查看>>
TCL:表格(xls)中写入数据
查看>>
Oracle事务
查看>>
String类中的equals方法总结(转载)
查看>>
属性动画
查看>>
标识符
查看>>
给大家分享一张CSS选择器优选级图谱 !
查看>>
Win7中不能调试windows service
查看>>
通过httplib2 探索的学习的最佳方式
查看>>
快来熟练使用 Mac 编程
查看>>
Node.js 入门:Express + Mongoose 基础使用
查看>>