首页 新闻 搜索 专区 学院

在Asp.net中怎么实现百度文库、豆丁网的文档的显示?

0
[待解决问题]

就是在线能够阅读PDF、doc、ppt等多种格式的文件,貌似是Flash格式的一样,可是怎么实现的?请教!谢谢!

编程小子Lero的主页 编程小子Lero | 初学一级 | 园豆:200
提问于:2010-09-20 21:48
< >
分享
所有回答(5)
0

现在都是用FLASH来查看PDF的,可以找一下FLASH的相关实现方法。

Astar | 园豆:40805 (高人七级) | 2010-09-20 23:01
0

百度貌似从文档转到pdf  pdf在到swfx 然后用flashpaper 或者flexpaper 查看的  

实际上有很多的swfx文件

keepsilence | 园豆:427 (菜鸟二级) | 2010-09-21 08:46
0

用豆丁吧 他提供了 api接口 而且文件他都自动帮你转换过 

在北落 | 园豆:159 (初学一级) | 2010-09-21 14:16
0

你可以从http://flexpaper.googlecode.com/svn/trunk上下载flexpaer播放器,还有源码 ,用要SVN检出,
1 :下载openoffice,安装到本机,然后能过命令行打开服务
  cd C:\Program Files\OpenOffice.org 3\program
soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

  在程序中你可以能过代码将word,txt,...数据源转化成Pdf格式的,
这是测试代码:

public static void main(String[] args) {

File inputFile = new File("D:\\新建文件夹 (2)\\河南分公司“创先争优”活动简报  第一期.doc");
File outputFile = new File("D:\\新建文件夹 (2)\\河南分公司“创先争优”活动简报  第一期.pdf");

// connect to an OpenOffice.org instance running on port 8100
OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);
try {
connection.connect();
} catch (ConnectException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// convert
DocumentConverter converter = new OpenOfficeDocumentConverter(connection);
converter.convert(inputFile, outputFile);
// close the connection


connection.disconnect();

}

2:安装swftoos到本机,可以能过代码将pdf格式 的文件转化成swf
public static int ConvertPdfToSwf(String fileName,String destPath){  
        String destName = "",fileExt = "";  
        StringBuffer command = new StringBuffer();  
        fileExt = fileName.split("\\.")[fileName.split("\\.").length-1].toLowerCase();
        try{  
            File file = new File(fileName);  
            if(!file.exists()){//判断源文件是否存在  
                return 1;  
            }else if(!fileExt.equals("pdf")){//判断文件是否是pdf格式的文件  
                return 2;  
            }  
            else{  
                String swftoolsPath = "C:\\Program Files\\SWFTools";//获取pdf转swf工具的路径  
                if(!swftoolsPath.substring(swftoolsPath.length()-1, swftoolsPath.length()).equals("\\")){  
                    swftoolsPath = swftoolsPath+"\\";    //在目录后加 "\"  
                }  
                if(!destPath.substring(destPath.length()-1, destPath.length()).equals("\\")){  
                    destPath = destPath+"\\";    //在目录后加 "\"  
                }  
                File destFile = new File(destPath);  
                if(!destFile.exists()){//目标文件路径如果不存在,则创建目录  
                    destFile.mkdirs();  
                }  
                destName = file.getName().substring(0, file.getName().length()-4)+".swf";//目标文件名称  
                command.append(swftoolsPath).append("pdf2swf.exe ").append(fileName).append(" -o ").append(destPath).append(destName);  
                Process pro = Runtime.getRuntime().exec(command.toString());  
                BufferedReader buffer = new BufferedReader(new InputStreamReader(pro.getInputStream()));  
                while(buffer.readLine()!=null);  
                return pro.exitValue();  
            }  
        }catch (Exception e){  
            e.printStackTrace();  
            return 3;  
        }  
3:最后再把Exmple/FlexPaperViewer.html里面的SwfFile : escape("20100826124510.swf?v1.4.0rc2-refresh2"),文件名改成你要播放的那个swf,就可以看到效果了,

微疯子 | 园豆:260 (菜鸟二级) | 2010-09-28 09:38
0

问下用svncheck in的源码是用什么语言开发的?

dreamhappy | 园豆:4 (初学一级) | 2011-01-16 17:14
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册