Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

FlexPaper — 可以用来仿豆丁网、百度文库的开源项目

[复制链接]
dywe12 发表于 2010-12-5 20:38:59 | 显示全部楼层
希望dx自行添加
回复

使用道具 举报

 楼主| 勿忘我科技 发表于 2010-12-5 20:55:53 | 显示全部楼层
dywe12 发表于 2010-12-5 20:38
希望dx自行添加

dx不知道什么时候加,你们dsu有没有开发计划,感觉许多论坛应该需要呀
回复

使用道具 举报

酒儛贰柒 发表于 2010-12-6 01:17:12 | 显示全部楼层
留个记号 此贴甚有用啊~~ 顶起 各位大大加把劲啊~
回复

使用道具 举报

 楼主| 勿忘我科技 发表于 2010-12-7 00:01:33 | 显示全部楼层
酒儛贰柒 发表于 2010-12-6 01:17
留个记号 此贴甚有用啊~~ 顶起 各位大大加把劲啊~

这贴顶起来,正需要这插件
回复

使用道具 举报

 楼主| 勿忘我科技 发表于 2010-12-7 00:09:05 | 显示全部楼层
看了一下百度文档分享平台的页面,对其中的技术实现,做了一些研究,还好有些成果,就拿来与大家分享一下。
FlexPaper是一个开源的轻量级文档显示组件,被设计用来与PDF2SWF一起使用,使在Flex中显示PDF成为可能。它可以被当做Flex的library来使用。
一. 使用PDF2SWF准备好你的文档
首先要将PDF转成SWF,这步可以使用开源的SwfTools自动完成
1.下载安装 SwfTools
2. 可以通过命令行的方式,例如将Paper3.pdf转换成Paper3.swf
C:\SWFTools\pdf2swf Paper3.pdf -o Paper3.swf
下载安装后用它的界面软件进行操作不行,不知道为什么,但通过命令行却可以。
三. 在Flex中使用FlexPaper

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

Xml代码
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"   
    layout="absolute"
    width="800" height="500"
    xmlns:flexpaper="com.devaldi.controls.flexpaper.*">
      
    <flexpaper:FlexPaperViewer width="800" height="500"   
        Scale="1" SwfFile="Paper3.swf" />
      
</mx:Application>
然后运行mxml文件就看到效果了。

源码到csdn上下载:
FlexPaperExample1.zip              例子程序
FlexPaper_1.0_swc.zip              flexPaper组件
swftools                                      到网上自己下
=======================================
这只是对pdf的解决方案,对offic文档我的想法是转换成html.然后再显示,用的是jacob来转换。
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;

public class JacobUtil {
public static final int WORD_HTML = 8;
public static final int WORD_TXT = 7;
public static final int EXCEL_HTML = 44;

/**
* WORD转HTML
*
* @param docfile
*            WORD文件全路径
* @param htmlfile
*            转换后HTML存放路径
*/
public static void wordToHtml(String docfile, String htmlfile) {
   ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word
   try {
    app.setProperty("Visible", new Variant(false));
    Dispatch docs = app.getProperty("Documents").toDispatch();
    Dispatch doc = Dispatch.invoke(
      docs,
      "Open",
      Dispatch.Method,
      new Object[] { docfile, new Variant(false),
        new Variant(true) }, new int[1]).toDispatch();
    Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
      htmlfile, new Variant(WORD_HTML) }, new int[1]);
    Variant f = new Variant(false);
    Dispatch.call(doc, "Close", f);
   } catch (Exception e) {
    e.printStackTrace();
   } finally {
    app.invoke("Quit", new Variant[] {});
   }
}

/**
* EXCEL转HTML
*
* @param xlsfile
*            EXCEL文件全路径
* @param htmlfile
*            转换后HTML存放路径
*/
public static void excelToHtml(String xlsfile, String htmlfile) {
   ActiveXComponent app = new ActiveXComponent("Excel.Application"); // 启动word
   try {

    app.setProperty("Visible", new Variant(false));
    Dispatch excels = app.getProperty("Workbooks").toDispatch();
    Dispatch excel = Dispatch.invoke(
      excels,
      "Open",
      Dispatch.Method,
      new Object[] { xlsfile, new Variant(false),
        new Variant(true) }, new int[1]).toDispatch();
    Dispatch.invoke(excel, "SaveAs", Dispatch.Method, new Object[] {
      htmlfile, new Variant(EXCEL_HTML) }, new int[1]);
    Variant f = new Variant(false);
    Dispatch.call(excel, "Close", f);
   } catch (Exception e) {
    e.printStackTrace();
   } finally {
    app.invoke("Quit", new Variant[] {});
   }
}
}
现在还没有测试成功。待续


回复

使用道具 举报

 楼主| 勿忘我科技 发表于 2010-12-7 00:41:32 | 显示全部楼层
回复

使用道具 举报

shiyuch 发表于 2010-12-7 08:05:45 | 显示全部楼层
勿忘我科技 发表于 2010-12-5 20:31
想通过附件上传自动转换

一般服务器不会装Flex吧。。。要实现附件的自动转换,只需要令附件转化为SWF格式即可了。。
回复

使用道具 举报

 楼主| 勿忘我科技 发表于 2010-12-7 12:01:06 | 显示全部楼层
shiyuch 发表于 2010-12-7 08:05
一般服务器不会装Flex吧。。。要实现附件的自动转换,只需要令附件转化为SWF格式即可了。。

不知道命令呀,你知道怎么做吧
回复

使用道具 举报

trumping 发表于 2010-12-12 14:21:17 | 显示全部楼层
想通过附件上传自动转换
回复

使用道具 举报

 楼主| 勿忘我科技 发表于 2010-12-13 14:53:28 | 显示全部楼层
trumping 发表于 2010-12-12 14:21
想通过附件上传自动转换

我也想呀
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-9-28 09:28 , Processed in 0.102389 second(s), 16 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表