zoukankan      html  css  js  c++  java
  • 仿百度文库解决方案

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

    关键的技术就在于文档转换为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中实现滚动。

  • 相关阅读:
    无法为数据库 'tempdb' 中的对象分配空间,因为 'PRIMARY' 文件组已满
    数据库通用分页存储过程
    ef linq 中判断实体中是否包含某集合
    linq 动态判断
    bootstrap切换按钮点击后显示的颜色
    abp vue vscode 配置
    abp ef codefirst Value cannot be null. Parameter name: connectionString
    git diff 分支1 分支2 --stat命令没有将所有的不同显示出来
    区块链相关介绍
    需求分析工作流程
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3341620.html
Copyright © 2011-2022 走看看