http://www.cnblogs.com/wuhenke/archive/2010/03/16/1686885.html

想想自己先前搞PDF转SWF,然后在线浏览功能时,实在是费了不少精力。后来不断发现实现类似功能的网站:http://www.doc88.com/  和 http://www.docin.com/ 虽然他们做的都比我起初做的好,但他们都是公司实力支撑,依靠的也是那种盈利模式。

自己的也在逐步完善和改进中,下面是我项目中的最终版:

  一直希望在项目结束后,分享我的代码和心得。前天碰巧看到有外国网友,将该功能封装成SWC,实现技术路线都是相同的,现在大家可以学习一下,很方便地实现自己的PDF在线浏览功能了。(功能还不错,但有待提高!如下:)

网站地址:

http://flexpaper.devaldi.com/index.php

介绍转载:

Introduction

FlexPaper is an open source light weight document viewer component designed to work together with libraries such as PDF2SWF, making it possible to display PDF files in Adobe Flex and other Flash based applications.

Making your document ready

To make it possible for your users to view your PDF documents without using Acrobat Reader, documents first needs to be converted to the SWF file format. There is a range of available converters, both commercial and free. The following example uses the open source tool SwfTools and can be automated if needed.

  1. Download and install SwfTools. All builds are available for download here.
  2. Convert your PDF to SWF. This is preferrably done from the command prompt. Make sure you set your options (Edit->Options) to "No viewer" if you are converting your PDF using the UI from SwfTools before exporting your PDF to SWF. This example converts a PDF file called "Paper3.pdf" to the output file "Paper3.swf":

    C:\SWFTools\pdf2swf.exe Paper3.pdf -o Paper3.swf

    Please see the wiki for more details about the conversion and the parameters that are currently recommended.

Viewing your document using the pre compiled flash version

The pre-compiled version of FlexPaper is most useful if you just want to use FlexPaper on any of your web pages.

  1. Download and extract the pre-compiled version of FlexPaper. All builds are available for download here.
  2. The zip file contains a sample file called "FlexPaperViewer.html" which shows you the basic parameters you need to pass to FlexPaper (SwfFile and Scale). Please see the wiki on Google Code for a complete list of available parameters.
  3. Copy the SWF you created with PDF2SWF to the same directory as your extracted files
  4. Upload everything to your web site and navigate to FlexPaperViewer.html in your favorite browser. If you on the other hand would like to run the application from a local directory rather than from a web server, then the application has to be added as trusted first. You can do that atAdobe's web site.

Using FlexPaper in Adobe Flex

Using the viewer in Adobe Flex is as easy a using the flash version.

  1. Download the FlexPaper SWC from Google Code and add the FlexPaper library to your Flex project.
  2. Copy the SWF you created with PDF2SWF to your bin-debug directory and add the FlexPaper component to your flex application as in the following example (update the SwfFile property on the component to point to your SWF file):

    <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" xmlns:fp="com.devaldi.controls.flexpaper.*"> 
        <fp:FlexPaperViewer width="520" height="450" Scale="0.6" SwfFile="Paper3.swf" /> </mx:Application>

国内介绍该控件库的先驱:

http://wangcheng.javaeye.com/blog/549074

转载其博客内容:

Flex:使用FlexPaper显示PDF文档

FlexPaper是一个开源的轻量级文档显示组件,被设计用来与PDF2SWF一起使用,使在Flex中显示PDF成为可能。它可以被当做Flex的library来使用。

一. 使用PDF2SWF准备好你的文档

首先要将PDF转成SWF,这步可以使用开源的SwfTools自动完成

1.下载安装 SwfTools,当前最新版本是0.9
2. 转换PDF到SWF,可以通过命令行的方式,例如将Paper3.pdf转换成Paper3.swf
C:\SWFTools\pdf2swf Paper3.pdf -o Paper3.swf

二. 使用已经编译好的FlexPaper的flash版本浏览你的文档

  1. 下载并解压出已经编译好的FlexPaper
  2. zip文件包含一个例子文件叫做FlexPaperViewer.html,它向你展示了需要传给FlexPaper的基本参数
    1. var params = {
    2. SwfFile : "Paper.swf",
    3. Scale : 0.6
    4. }
    5. swfobject.embedSWF("FlexPaperViewer.swf","cb","500","500","9.0.0","js/swfobject/expressInstall.swf", params);
    6. //SwfFile参数是你想显示的文件,Scale是0-1之间的数,表示显示的放大参数
  3. 复制你创建出来的swf和PDF2SWF到解压缩出的相同目录
  4. 确定你添加了FlexPaperViewer.swf

三. 在Flex中使用FlexPaper

1. 下载FlexPaper SWC,添加到你的Flex项目libs中
2. 复制你用PDF2SWF创建的SWF到你的bin-debug目录,如Paper3.swf,添加FlexPaper组件到你的flex代码中

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
  3. layout="absolute"
  4. width="800" height="500"
  5. xmlns:flexpaper="com.devaldi.controls.flexpaper.*">
  6. <flexpaper:FlexPaperViewer width="800" height="500"
  7. Scale="1" SwfFile="Paper3.swf" />
  8. </mx:Application>

原文 http://www.devaldi.com/?page_id=260 
SwfTools  http://www.swftools.org/download.html
flexpaper  http://code.google.com/p/flexpaper/

另外附 我推荐的参考资料网址:

http://wiki.swftools.org/index.php/Main_Page#SWF_API_Documentation

http://wiki.swftools.org/index.php/Pdf2swf

http://wiki.swftools.org/index.php/How_do_I_create_a_AVM2_compatible_SWF%3F

http://wiki.swftools.org/index.php/How_do_I_highlight_text_in_the_SWF%3F

FlexPaper_1.2.1.swc——Flex在线显示PDF文档(使用FlexPaper)感悟的更多相关文章

  1. 转:在 C# 中使用 P/Invoke 调用 Mupdf 函数库显示 PDF 文档

    在 C# 中使用 P/Invoke 调用 Mupdf 函数库显示 PDF 文档 一直以来,我都想为 PDF 补丁丁添加一个 PDF 渲染引擎.可是,目前并没有可以在 .NET 框架上运行的免费 PDF ...

  2. java实现在线浏览PDF文档功能

    实现在线浏览pdf文档功能(本代码适用于项目服务中固定的并且少量的pdf浏览,比如注册时的注册条款在线浏览等): //设置响应内容类型为PDF类型 response.setContentType(&q ...

  3. 手把手教你使用 Java 在线生成 pdf 文档

    一.介绍 在实际的业务开发的时候,研发人员往往会碰到很多这样的一些场景,需要提供相关的电子凭证信息给用户,例如网银/支付宝/微信购物支付的电子发票.订单的库存打印单.各种电子签署合同等等,以方便用户查 ...

  4. 如何突出显示PDF文档中的一些重要文本信息

    PDF文档中如果存在着太多的文字时,阅读者会容易遗漏很多重要的信息.但如果,文档中存在着一些特殊标记的文字时,比如标黄.标红文本时,很多人都会给予特别关注. 因此,当大家在使用pdfFactory专业 ...

  5. [转载]Java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

  6. [原创]java在线打开PDF文档

    步骤一:(涉及到的工具) 访问:http://www.zhuozhengsoft.com/dowm/,从官网下载PageOffice for Java. 步骤二:(配置工程) 1. 解压PageOff ...

  7. java 使用 pdf.js 在线查看 pdf 文档

    1. 下载对应的 pdf.js 文件: 推荐地址:             https://github.com/mozilla/pdf.js/            http://mozilla.g ...

  8. 如何在在网页上显示pdf文档

    ------解决方案--------------------通过flash插件 ------解决方案--------------------RAD PDF Release 2.7 http://www ...

  9. 在线查看PDF文档

    http://www.cnblogs.com/morang/p/4598894.html http://78re52.com1.z0.glb.clouddn.com/resource%2Fscenar ...

随机推荐

  1. 关于HTML5的十大面试题

    1.html5的文档类型和字符集分别是什么? 答:<!doctype html>/<meta charset="UTF-8"> 2.在html5中如何嵌入一 ...

  2. cocos2dx-3.x物理引擎Box2D介绍

    理引擎 Cocos2d-x引擎内置了两种物理引擎,它们分别是Box2D和Chipmunk,都是非常优秀的2D物理引擎,而且x引擎将它们都内置在SDK中.Box2D使用较为广泛,在这里选择Box2D来进 ...

  3. struts2 中redirectAction如何传递参数!

    在struts2中,初学者因为参数传递的问题往往会出现一些错误. 比如页面跳转的问题,在用户注册中,以一下代码作为案例: <struts> <constant name=" ...

  4. 微软雅黑的Unicode码和英文名

    中文名 英文名 Unicode编码 微软雅黑 Microsoft YaHei \5FAE\8F6F\96C5\9ED1 宋 体 SimSun \5B8B\4F53 黑 体 SimHei \9ED1\4 ...

  5. 【BZOJ1801】[Ahoi2009]chess 中国象棋 DP

    [BZOJ1801][Ahoi2009]chess 中国象棋 Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮 ...

  6. 线段树(成段更新,区间求和lazy操作 )

    hdu1556 Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/O ...

  7. swoole--PHP的异步、并行、高性能网络通信引擎

    swoole目前已被多家移动互联网.物联网.网络游戏.手机游戏企业使用,替代了C++.Java等复杂编程语言来实现网络服务器程序. 使用PHP+Swoole,开发效率可以大大提升.官方提供了基于swo ...

  8. Linux下手工卸载11.2 RAC(非MOS的deinstall方法)

    思路来自于经典的<How to Proceed From a Failed 10g or 11.1 Oracle Clusterware (CRS) Installation (Doc ID 2 ...

  9. 亿级别G级别文本数据去重

    亿级别G级别文本数据去重 文件总行数 字节数 去重后行数 [root@d mongoexport]# wc -l superpub-ask-question.csv126530681 superpub ...

  10. RSA算法原理与加密解密 求私钥等价求求模反元素 等价于分解出2个质数 (r*X+1)%[(p-1)(q-1)]=0

    Rsapaper.pdf http://people.csail.mit.edu/rivest/Rsapaper.pdf [概述Abstract 1.将字符串按照双方约定的规则转化为小于n的正整数m, ...