利用FlashPaper在web页面中显示PDF文件(兼容各浏览器)

应项目需求要把PDF内嵌到网页中显示,其中有了很多办法,比如用<embed/>元素放入PDF文件,但是效果不理想,浏览器兼容不理想,在ie9/8(其他版本没有测试)显示会提示下载pdf文件。当然这不是我想要的效果,这种做法可以轻易地在网络上找到,我这里不就细说。

下面介绍的是另一种办法,就是借用FlashPaper软件改用swf格式来实现,各大浏览器对flash的支持已经相当友好了,除非用户禁止了现在flash。

一:FlashPaper

开始使用这款软件之前,花点时间来认识它,FlashPaper是Macromedia公司旗下的一款产品,它可以将Word,Excel,Powerpoint等文档转换为swf且不会影响到原来的图片和排版,使用户可以很方便的将其插入到网页中。

同类产品还有iSpring和Print2Flash,注意的是FlashPaper不支持64为系统,如需安装在64位系统上推荐使用Print2Flash。

iSpring和Print2Flash都可以将PPT转flash。iSpring是专门的PPT转flash软件,而且它也只能转PPT。FlashPaper可以支持任何类型文件转flash文件。更重要的是FlashPaper转换出来的Flash文件是基于网页式的浏览模式,而iSpring转换出来的Flash文件能保持好对原有PPT的浏览模式,如果需要将PPT转Flash我们极力推荐iSpring软件。


二:先下载安装FlashPaper软件。

安装后界面如下


然后把我们的PDF文件直接拖放进去,然后出现该解析过程


解析完成后出现界面如下


然后点file>exit就可以生成一个.swf的文件供我们网页使用。但是这样生成的文件 是带有一个Logo的。因为到这里为止,我们一直在用FlashPaper为我们提供的默认组件。该提供的默认组件包括如下图所示:


按照 FlashPaper 工作原理(利用原有的flash模版来把文档转换为swf文档)也就是说,如果我们想去掉LOGO我们就必须要自己定义 FlashPaper 组件,修改它里面的flash文件。


三,自定义 FlashPaper

我这里有一个定义好了的“DefaultViewer2.swf”,你可以直接把它复制到你的Macromedia FlashPaper 2安装目录Interface中进行替换,重启软件后就可以使用自定义过的 FlashPaper 。


当然你也可以按照自己的需要定制属于自己的 FlashPaper 。

1:利用flash的反编译软件将.swf文件转换为.fla文件。我在这里使用的是“硕思闪客精灵7.1”。

现在进入到你的Macromedia FlashPaper 2安装目录Interface中找到“DefaultViewer2.swf”文件,把它拖进到“硕思闪客精灵”软件中,待完全放进去后,点击软件的上方“导出FLA/FLEX按钮,选择你要保存的位置和flash版本后点击确定,就可得到”DefaultViewer2.fla"文件。






2:用flash软件打开反编译过来的"DefaultViewer2.fla“文件,对其进行自定义。

在第三针位置即第二个a的位置按f9调出动作窗口,在最后一个if

if (gMainView === undefined)
{
    fpLocalizations_o = new Object();
    fpLocalizations_o.en = new FlashPaper.Localization.English();
    fpLocalizations_o.de = new FlashPaper.Localization.German();
    fpLocalizations_o.fr = new FlashPaper.Localization.French();
    fpLocalizations_o.ja = new FlashPaper.Localization.Japanese();
    fpLocalizations_o.es = new FlashPaper.Localization.Spanish();
    fpLocalizations_o.it = new FlashPaper.Localization.Italian();
    fpLocalizations_o.ko = new FlashPaper.Localization.Korean();
    gMainView = new FlashPaper.MainView(this);
    gMainView.addListener(this);
} // end if

的里面加入自己定制的内容。

if (gMainView === undefined)
{
    fpLocalizations_o = new Object();
    fpLocalizations_o.en = new FlashPaper.Localization.English();
    fpLocalizations_o.de = new FlashPaper.Localization.German();
    fpLocalizations_o.fr = new FlashPaper.Localization.French();
    fpLocalizations_o["zh-TW"] = new FlashPaper.Localization.TChinese();
    fpLocalizations_o.es = new FlashPaper.Localization.Spanish();
    fpLocalizations_o.it = new FlashPaper.Localization.Italian();
    fpLocalizations_o["zh-CN"] = new FlashPaper.Localization.SChinese();
    gMainView = new FlashPaper.MainView(this);
    gMainView.addListener(this);
    gMainView.showUIElement("PrevNext", true);
    gMainView.showUIElement("Print", false);
    gMainView.showUIElement("Find", true);
    gMainView.showUIElement("Tool", false);
    gMainView.showUIElement("Pop", false);
    gMainView.showUIElement("Zoom", true);
    gMainView.showUIElement("Page", true);
    gMainView.showUIElement("Overflow", true);
} // end if



3:将自定义好的"DefaultViewer2.fla"导出为DefaultViewer2.swf"文件(命名为DefaultViewer2.swf),找到FlashPaper的安装路径FlashPaper 2\Interface,覆盖下面的swf文件即可完成你的定义。


四:将pdf转换好的.swf文件插入到网页中

然后在按正常的插入.swf文件的方式插入即可。我这里测试的IE7+

<embed src="name.swf"
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值