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在线阅读(类百度文库)的更多相关文章

  1. 类似百度文库pdf2swf+flexpaper解决pdf在线阅读的效果

    1:工具准备swftools.exe 下载http://www.swftools.org/download.html 安装至D盘SWFTools提供了一系列将各种文件转成swf的工具:font2swf ...

  2. PDF在线阅读 FlexPaper 惰性加载 ;

    关于PDF在线阅读问题,比较普遍的做法是转换成swf文件来浏览:由于项目需要,就用 flexpaper 来实现了下,功能比较简单:但是文件的惰性加载确实让笔者挠头了一把! 下面是笔者的方法: 采用流的 ...

  3. web版pdf在线阅读器

    近期论坛里有人提到了,在线pdf阅读器怎么做.我百度了一下,发现非常多人都非常懒.程序猿都非常懒吗? 答案是否定的. 为什么都不愿意去搜索一下呢.网上非常多答案的.我这里就列举一例.大家共勉. 看代码 ...

  4. Docker入门实战_正版电子书在线阅读_百度阅读

    Docker入门实战_正版电子书在线阅读_百度阅读 Docker入门实战

  5. Silverlight类百度文库在线文档阅读器

    百度文库阅读器是基于Flash的,用Silverlight其实也可以做. 我实现的在线阅读器可以应用于内网文档发布,在线阅览审批等.没有过多的堆积功能,专注于核心功能.主要有以下特性: 1. 基于XP ...

  6. Silverlight类百度文库在线文档阅读器(转)

    百度文库阅读器是基于Flash的,用Silverlight其实也可以做. 我实现的在线阅读器可以应用于内网文档发布,在线阅览审批等.没有过多的堆积功能,专注于核心功能.主要有以下特性: 1. 基于XP ...

  7. JAVA实现word doc docx pdf excel的在线浏览 - 仿百度文库 源码

    我们具体实现思路是这样的 首先下载并安装openoffice和swftools openoffice下载地址:http://www.openoffice.org/download/index.html ...

  8. PDF/WORD/EXCEL/PPT 文档在线阅读

    查资料看了2种解决方法: 1.通过办公软件dll转换,用flans去看 2.通过Aspose转换成pdf格式,在用js前台读pdf(我用的pdf.js) 今天我解决的就是WORD/EXCEL/PPT ...

  9. 在线阅读PDF文件js插件——pdf.js

    最近接到一个需求大致是这样的,要求在移动端和pc端能够在线阅读pdf文件,类似百度文库的功能. 首先想到的就是插件,github(全球最大的男性交友网站- -恩)上一大堆啊,首先找到一个PDFobje ...

随机推荐

  1. 阿里云服务器 进行zookeeper集群时候的肯!

    首先我本地虚拟机 部署过N次没什么问题! 擦,上了云就启动后不能正常节点之间连接和发现! 这上面有手误 擦,吧编号的2 打成22 了,这个看下日志就解决了 重点是zoo.conf 中的IP进行配置时候 ...

  2. 一篇搞定SQLAlchemy--关系对象映射

    要使用SQLAlchemy,必须先下载这个模块 pip3 install sqlalchemy 或 pycharm File--> Settings-->project...-->P ...

  3. Linux三剑客之老二-------sed命令详解

    sed命令 文件 编辑 本文索引 [隐藏] sed的选项.命令.替换标记 选项 参数 sed命令 sed替换标记 sed元字符集 sed用法实例 替换操作:s命令 全面替换标记g 定界符 删除操作:d ...

  4. End to End 端到端

    在DeepLearning的文章中有看到end2end一次,作者们似乎都比较喜欢这个end2end learning的方式.那么到底啥是end2end? 找了一下相关论文,没找到专门讲这个概念的,看来 ...

  5. 瑞丽熵(renyi entropy)

    在信息论中,Rényi熵是Hartley熵,Shannon熵,碰撞熵和最小熵的推广.熵能量化了系统的多样性,不确定性或随机性.Rényi熵以AlfrédRényi命名.在分形维数估计的背景下,Rény ...

  6. 基于twemproxy的redis集群部署

    一.系统及软件版本 操作系统:CentOS Linux release 7.3.1611 (Core) 内核版本:3.10.0-514.el7.x86_64 redis版本:3.2.8 twempro ...

  7. MC20模块教程目录

    MC20模块使用教程 为了阅读和修正方便,所有教程在线观看,请在有网络的环境下观看下面教程,谢谢! MC20模块教程在线目录 第一章:基础使用,使用电脑调试MC20的各项功能 1.1 使用电脑测试MC ...

  8. C++ 语言操作符的优先级

    cppreference.com -> C++ 操作符优先级 C++ 操作符优先级        优先级     操作符 1 () [] -> .   ::         ! ~ ++ ...

  9. Protobuf支持 pointf

    Protobuf支持 pointf序列化 加入:ProtoBuf.Meta.RuntimeTypeModel.Default.Add(typeof(System.Drawing.PointF), fa ...

  10. CuteEditor.Editor+a+a+c+a+a.a() System.RuntimeType.get_Assembly() 问题解决方法

    问题: Server Error in '/' Application. Attempt by method 'CuteEditor.Editor+a+a+c+a+a.a()' to access m ...