仿百度文库解决方案

接公司需求,要实现类似百度文库的这么一个东西

关键的技术就在于文档转换为swf,及展示

网上搜了好多参考,总结出几种可实现方案:

1.Print2flash商业软件。功能非常强大,可制定性强,稳定。可直接把office、PDF等文档直接转换成带浏览框架的swf文件。唯一缺点是,收费,搜不到破解方法,有序列号,但序列号版本功能有限制,不适合通过代码实现文档转换

2.FlashPaper。同上,可以直接把office、PDF等文档直接转换成带浏览框架的swf文件。只是无法制定皮肤、水印等东西,速度慢,不稳定。

3.最后决定使用的方案是:office文档转换为PDF,再通过pdf转为swf,使用flex制作一个浏览框架swf文件。

所需环境为:

1.adobe acrobat 9。转换为pdf文件

2.office2007。将office文件转为pdf时,除了acrobat,当然office功能不可少。

3.swftools。开源工具,可将pdf文件转为SWF文件

4.vs2010开发环境,通过.net开发一个命令小工具,调用acrobat库的功能,实现命令行方式转换office,代码其实也就十来行就实现了。

 

实现步骤:

1.安装adobe acrobat 9、office2007、swftools等软件

2.使用vs2010开发命令行工具,调用acrobat的PDFMakerAPI.dll来实现转换。

3.PHP页面上传文档,在后台执行转换。在此遇到一个问题,所开发的工具如果在windows的cmd窗口中调用,可正确转换,但通过php的exec调用命令来转换,无法生成目标pdf。经分析,是PHP的权限不足。修改apache服务启动的用户,使其拥有较高的权限,转换成功。

4.swftools转换pdf为swf,注意要点,需要加-T 9 版本参数,否则生成的SWF格式将为AVM1Movie格式,在flex中通过swfloader无法控制

5.使用flex开发一个加载框架swf,该swf可自己制定外观、水印等,关键技术是通过swfloader加载内容swf,然后gotoAndStop()每一帧,将每一帧的内容移到一个容器中,这个容器就是一个页面。也就是每一帧,生成一页,然后添加到一个VGroup中,再放到一个scroller中实现滚动。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值