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. docker介绍和简单使用

    docker介绍 docker 为什么会有docker出现? 一款产品从开发到上线,从操作系统到运行环境,再到应用配置,作为开发+运维直接的协作我们需要关心很多东西,这也是互联网公司不得 不面对问题, ...

  2. 教你管理SQL实例系列(1-15)

    全系列转自:51CTO ->jimshu http://jimshu.blog.51cto.com 目录及原本连接如下: 教你管理SQL实例(1)数据库实例 教你管理SQL实例(2)服务启动帐户 ...

  3. 安卓3d引擎

    很 多初学Android游戏开发 href="http://edu.gamfe.com/gamedev.html">游戏开发的朋友,往往会显得有些无所适从.他们经常不知道该从 ...

  4. adb通过TCP/IP连接提示 unable to connect to *, Connection refused的解决方法

    通过串口连接板子进入命令行,然后执行: su setprop service.adb.tcp.port 5555 stop adbd start adbd

  5. ggplot2画图时标题无法居中的问题

    折腾了一天,终于好了.应该是版本的问题.在R3.2.2能居中(别问我为什么知道),在R3.3.2上就不能.解决方式如下: library(ggplot2) ggplot(data=mtcars, ae ...

  6. Traverse the dict in Python

    We usually use the following 2 ways to traverse a dict: 1: for d in dic 2: for d in dic.keys() Which ...

  7. requirejs源码分析: define 方法

    define = function (name, deps, callback) {     var node, context; //Allow for anonymous modules     ...

  8. loadrunner之脚本篇——录制方式HTML-based和URL-based Script

    A.   HTML-based Script 针对 Web (HTTP/HTML)虚拟用户的缺省录制级别.它指示VuGen录制当前web页面上下文中的HTML action.录制会话期间并不录制所有资 ...

  9. 【转】dmesg 时间转换

    dmesg 时间转换 dmesg 输出的格式不易查看,可以通过命令进行转换. 记录如下: 时间查看: date -d "1970-01-01 UTC `echo "$(date + ...

  10. SQL 根据IF判断,SET字段值

    当INVOICE_STATUS值为1时,赋值为2,否者赋值为原来的值 UPDATE T_INVOICE SET DOWNLOAD_COUNT = DOWNLOAD_COUNT + 1, INVOICE ...