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. JQuery处理DOM元素

    现有一个id为txtMyTest的元素 获取属性值 $('#id').attr('属性名'); 设置属性值 $('#id').attr('属性名','需要设置的值'); 设置多个属性 如下同时设置va ...

  2. JBPM的.jpdl.xml文件中文出现乱码

    在Eclipse中使用jbpm提供的工作流设计器设计好流程后,打开.jpdl.xml后发现中文全是乱码 项目和文件编码设置都是UTF-8,但是依旧乱码. 在Eclipse的配置文件 eclipse.i ...

  3. 巨蟒django之CRM3 添加和编辑客户&&公户和私户的展示和转换

    昨日内容回顾: day66 1. 内容回顾 1. 数据的展示 数据通过ORM查询出来 对象列表 QuerySet 1. 普通的字段 对象.字段名 ——> 数据库中的值 2. choices (( ...

  4. python系列十三:Python3 输入输出

    #!/usr/bin/python #Python3 输入输出 import math'''输出格式美化Python两种输出值的方式: 表达式语句和 print() 函数.第三种方式是使用文件对象的 ...

  5. python系列十一:python3数据结构

    #!/usr/bin/python #Python3 数据结构'''Python中列表是可变的,这是它区别于字符串和元组的最重要的特点,一句话概括即:列表可以修改,而字符串和元组不能.''' '''将 ...

  6. 解决IE,z-index失效

    在影响显示顺序的模块加上: style="position:relative;z-index:-1;" 解决IE,z-index失效

  7. TCustomControl绘制自己和图形子控件共四步,TWinControl关键属性方法速记

    TCustomControl = class(TWinControl) private FCanvas: TCanvas; procedure WMPaint(var Message: TWMPain ...

  8. ES6学习笔记(一)——let和const

    1.ES6学习之let.const (1).var.let.const 变(常)量声明 ES5 只有全局作用域和函数作用域,没有块级作用域,这带来很多不合理的场景. 在ES6中let就诞生了,实际上它 ...

  9. python基础26 -----python进程及协成

    一.进程 1.multiprocessing模块实现多进程并发. 1.1multiprocessing包是Python中的多进程管理包,与threading.Thread类似,它可以利用multipr ...

  10. 一个用 C# 实现操作 XML 文件的公共类代码

    using System; using System.IO; using System.Data; using System.Xml; using System.Xml.XPath; namespac ...