PDF解决方案(4)--在线浏览

相关专题链接

PDF解决方案(1)--文件上传

PDF解决方案(2)--文件转PDF

PDF解决方案(3)--PDF转SWF

PDF解决方案(4)--在线浏览

前言:上一篇主要提到了PDF在线浏览的各种方案的优劣和如何把PDF转换为SWF文件,这一篇主要介绍SWF文件的在线浏览。

SWF在线浏览

SWF在线浏览选择的是FlexPaper,一个轻量级的开源(又是开源,开源万岁!)组件,可以在浏览器中显示各种文档。

下载地址:http://flexpaper.devaldi.com/

在自己的页面中引入FlexPaper的JS和CSS文件以及jquery文件,在页面中定义一个DIV使用FlexPaperViewer方法指定swf文件路径和其它参数渲染这个div就可以了,FlexPaper的使用比较简单就不再详细描述了,代码如下:

<head>
        <link rel="stylesheet" type="text/css" href="js/FlexPaper/css/flexpaper.css">
        <script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
        <script type="text/javascript" src="js/FlexPaper/js/flexpaper.js"></script>
        <script type="text/javascript" src="js/FlexPaper/js/flexpaper_handlers.js"></script>
    </head>
    <body>
        <div style="position: absolute; left: 10px; top: 10px;">
            <div id="documentViewer" class="flexpaper_viewer"></div>
            <script type="text/javascript">
                var swfPath = "<%=basePath %>";
                (function getSwfPath()
                {
                    swfPath += ("file/upload/" + Request("path"));
                    initViewer();
                })(window);
                
                function Request(argname)
                {
                    var url = document.location.href;
                    var arrStr = url.substring(url.indexOf("?") + 1).split("&");
                    for (var i = 0; i < arrStr.length; i++) 
                    {
                        var loc = arrStr[i].indexOf(argname + "=");
                        if (loc != -1) 
                        {
                            return arrStr[i].replace(argname + "=", "").replace("?", "");
                            break;
                        }
                    }
                    return "";
                }
                
                function initViewer()
                {
                    $('#documentViewer').FlexPaperViewer(
                    {
                        config : {

                            SWFFile : swfPath,//swf文件路径
            
                            //FitPageOnLoad : true,//自适应页面
                            FitWidthOnLoad : true,//自适应宽度
                            InitViewMode : 'Portrait',//启动模式
                            RenderingOrder : 'flash',//
                            StartAtPage : '',//初始化页面,默认首页
                            jsDirectory : '<%=path + "/js/FlexPaper/js/"%>',//FlexPaper js路径
                            WMode : 'window',
                            localeChain: 'zh_CN'//语言
                        }
                    });
                    $('#documentViewer').width($('body').width()-20);
                    $('#documentViewer').height($('body').height()-20);
                }
        </script>
    </body>

 

 

FlexPaper配置有很多参数,这里有参数的中文介绍,可以用来参考:http://ajava.org/article-685-1.html

结语

这个专题主要介绍了PDF相关的文件处理,包括文件上传,文件转换为PDF,PDF转换为SWF,SWF的在线浏览,其中用到openoffice、itext、xpdf、swftools、FlexPaper等开源工具和jar包,这些工具都非常的强大提供了很多的功能,这里用到的只是其中很小很简单的功能,供大家参考吧!

作文是我的硬伤,经常抓不住重点,辞不达意,本末倒置,这几篇文章也写的很吃力,不知道如何把自己想表达的意思表述情书,所有文中会很有多说了一堆非常却没讲到点子上的情况,欢迎大家批评指正,互相学习!

相关文件下载:

PDF解决方案demo: http://pan.baidu.com/s/1i3mmwux

swftools、xpdf:http://pan.baidu.com/s/1dDu1Yoh(注:解压放在C盘根目录即可)

posted @ 2014-07-28 20:33  铁皮鸭子  阅读(1861)  评论(4编辑  收藏  举报