pdf2swf+flexpaper解决pdf在线阅读(类百度文库)
1:工具准备
swftools.exe 下载
http://www.swftools.org/download.html
安装至D盘 SWFTools提供了一系列将各种文件转成swf的工具:
font2swf.exe
gif2swf.exe
jpeg2swf.exe
pdf2swf.exe
png2swf.exe
wav2swf.exe
这里我们只使用
pdf2swf.exe
flexpaper下载 http://code.google.com/p/flexpaper/ 这里我们使用已经编译好的FlexPaper的flash版本
2:示例语言,这里我使用的两种开发环境做示例
php示例 由pdf生成swf文件
- <?php
- /*
- * Created on 2010-11-17
- *
- * To change the template for this generated file go to
- * Window - Preferences - PHPeclipse - PHP - Code Templates
- */
- //获取文件所在目录
- $dir=dirname(__FILE__) ;
- //删除测试文件
- @unlink( $dir."\\test.swf" );
- //使用pdf2swf转换命令
- $command= "D:/SWFTools/pdf2swf.exe -t \"".$dir."\\test.pdf\" -o \"".$dir."\\test.swf\" -s flashversion=9 ";
- //创建shell对象
- $WshShell = new COM("WScript.Shell");
- //执行cmd命令
- $oExec = $WshShell->Run("cmd /C ". $command, 0, true);
- ?>
java示例<%
- /*
- * Created on 2010-11-17
- */
- //获取文件所在目录
- String path=request.getRealPath("/");
- //使用pdf2swf转换命令
- String command= "D:/SWFTools/pdf2swf.exe -t \""+path+"\\test.pdf\" -o \""+path+"\\test.swf\" -s flashversion=9 ";
- //执行cmd命令
- Runtime.getRuntime().exec("cmd /c "+command);
- %>
- 以上是php,java将pdf转换成swf方式,那显示呢,这样我们会使用到flexpaper,以下是flexpaper的使用
使用flexpaper展现swf - <script type="text/javascript" src="js/swfobject/swfobject.js"></script>
- <script type="text/javascript">
- var swfVersionStr = "10.0.0";
- var xiSwfUrlStr = "playerProductInstall.swf";
- var flashvars = {
- SwfFile : escape("test.swf"),
- Scale : 0.6,
- ZoomTransition : "easeOut",
- ZoomTime : 0.5,
- ZoomInterval : 0.1,
- FitPageOnLoad : false,
- FitWidthOnLoad : true,
- PrintEnabled : true,
- FullScreenAsMaxWindow : false,
- ProgressiveLoading : true,
- PrintToolsVisible : true,
- ViewModeToolsVisible : true,
- ZoomToolsVisible : true,
- FullScreenVisible : true,
- NavToolsVisible : true,
- CursorToolsVisible : true,
- SearchToolsVisible : true,
- localeChain: "zh_CN"
- };
- var params = {
- }
- params.quality = "high";
- params.bgcolor = "#ffffff";
- params.allowscriptaccess = "sameDomain";
- params.allowfullscreen = "true";
- var attributes = {};
- attributes.id = "FlexPaperViewer";
- attributes.name = "FlexPaperViewer";
- swfobject.embedSWF(
- "FlexPaperViewer.swf", "flashContent",
- "650", "500",
- swfVersionStr, xiSwfUrlStr,
- flashvars, params, attributes);
- swfobject.createCSS("#flashContent", "display:block;text-align:left;");
- </script>
- <body>
- <div style="position:absolute;left:10px;top:10px;">
- <div id="flashContent">
- </div>
- </div>
- </body>
- 通过上述方式我们可以将pdf转换成相应的swf文件,并通过flexpaper显示,防止用户下载,或copy。

pdf2swf的详细参数说明,上网百度或者Google都能查到,但是注意的最好指定flashversion 为9,防止出现一些意外的错误。 pdf2swf 中并不是所有的pdf都能转换,加密的pdf pdf2swf转换不了
flexpaper 的参数详细说明请参考 http://code.google.com/p/flexpaper/wiki/Parameters
flexpaper 常用的API http://code.google.com/p/flexpaper/wiki/API
如果出现乱码问题可能是字符集,网上有很多的相关解决方法可以查询【我没有碰到字符集堵的问题】。
还有pdf中含有图片可能转换成swf后图片不大清晰。
word,wps,txt等文档也可以采用该方式转换,但工具不一定为swftools
上传的flexpaper附件中已经包含flexpaper中相关文件不用重新下载,只要下载swftools,并安装。
flexpaper附件中包含了pdf2swf.jsp与pdf2swf.php
两个文件及flexpaper相关的组件可以在java或php环境中运行。
pdf2swf+flexpaper解决pdf在线阅读(类百度文库)的更多相关文章
- 类似百度文库pdf2swf+flexpaper解决pdf在线阅读的效果
1:工具准备swftools.exe 下载http://www.swftools.org/download.html 安装至D盘SWFTools提供了一系列将各种文件转成swf的工具:font2swf ...
- PDF在线阅读 FlexPaper 惰性加载 ;
关于PDF在线阅读问题,比较普遍的做法是转换成swf文件来浏览:由于项目需要,就用 flexpaper 来实现了下,功能比较简单:但是文件的惰性加载确实让笔者挠头了一把! 下面是笔者的方法: 采用流的 ...
- web版pdf在线阅读器
近期论坛里有人提到了,在线pdf阅读器怎么做.我百度了一下,发现非常多人都非常懒.程序猿都非常懒吗? 答案是否定的. 为什么都不愿意去搜索一下呢.网上非常多答案的.我这里就列举一例.大家共勉. 看代码 ...
- Docker入门实战_正版电子书在线阅读_百度阅读
Docker入门实战_正版电子书在线阅读_百度阅读 Docker入门实战
- Silverlight类百度文库在线文档阅读器
百度文库阅读器是基于Flash的,用Silverlight其实也可以做. 我实现的在线阅读器可以应用于内网文档发布,在线阅览审批等.没有过多的堆积功能,专注于核心功能.主要有以下特性: 1. 基于XP ...
- Silverlight类百度文库在线文档阅读器(转)
百度文库阅读器是基于Flash的,用Silverlight其实也可以做. 我实现的在线阅读器可以应用于内网文档发布,在线阅览审批等.没有过多的堆积功能,专注于核心功能.主要有以下特性: 1. 基于XP ...
- JAVA实现word doc docx pdf excel的在线浏览 - 仿百度文库 源码
我们具体实现思路是这样的 首先下载并安装openoffice和swftools openoffice下载地址:http://www.openoffice.org/download/index.html ...
- PDF/WORD/EXCEL/PPT 文档在线阅读
查资料看了2种解决方法: 1.通过办公软件dll转换,用flans去看 2.通过Aspose转换成pdf格式,在用js前台读pdf(我用的pdf.js) 今天我解决的就是WORD/EXCEL/PPT ...
- 在线阅读PDF文件js插件——pdf.js
最近接到一个需求大致是这样的,要求在移动端和pc端能够在线阅读pdf文件,类似百度文库的功能. 首先想到的就是插件,github(全球最大的男性交友网站- -恩)上一大堆啊,首先找到一个PDFobje ...
随机推荐
- JQuery处理DOM元素
现有一个id为txtMyTest的元素 获取属性值 $('#id').attr('属性名'); 设置属性值 $('#id').attr('属性名','需要设置的值'); 设置多个属性 如下同时设置va ...
- JBPM的.jpdl.xml文件中文出现乱码
在Eclipse中使用jbpm提供的工作流设计器设计好流程后,打开.jpdl.xml后发现中文全是乱码 项目和文件编码设置都是UTF-8,但是依旧乱码. 在Eclipse的配置文件 eclipse.i ...
- 巨蟒django之CRM3 添加和编辑客户&&公户和私户的展示和转换
昨日内容回顾: day66 1. 内容回顾 1. 数据的展示 数据通过ORM查询出来 对象列表 QuerySet 1. 普通的字段 对象.字段名 ——> 数据库中的值 2. choices (( ...
- python系列十三:Python3 输入输出
#!/usr/bin/python #Python3 输入输出 import math'''输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数.第三种方式是使用文件对象的 ...
- python系列十一:python3数据结构
#!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...
- 解决IE,z-index失效
在影响显示顺序的模块加上: style="position:relative;z-index:-1;" 解决IE,z-index失效
- TCustomControl绘制自己和图形子控件共四步,TWinControl关键属性方法速记
TCustomControl = class(TWinControl) private FCanvas: TCanvas; procedure WMPaint(var Message: TWMPain ...
- ES6学习笔记(一)——let和const
1.ES6学习之let.const (1).var.let.const 变(常)量声明 ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景. 在ES6中let就诞生了,实际上它 ...
- python基础26 -----python进程及协成
一.进程 1.multiprocessing模块实现多进程并发. 1.1multiprocessing包是Python中的多进程管理包,与threading.Thread类似,它可以利用multipr ...
- 一个用 C# 实现操作 XML 文件的公共类代码
using System; using System.IO; using System.Data; using System.Xml; using System.Xml.XPath; namespac ...