Java開源技術

          常用鏈接

          統計

          開源

          最新評論

          2011年7月6日 #

          解決FlexPaper分頁分段加載問題

          FlexPaper是一個開源的PDF文檔在線查看控件。用戶查看PDF文檔不需要安裝Acrobat Reader,但需要利用像SwfTools這樣的工具預先將PDF文檔轉成SWF格式的文件。FlexPaper能夠對需要查看的文檔進行分頁、搜索、打印、縮放、全屏查看等

           

          但對于一次性加載整個大型文檔會導致加載時間過長和內存過渡消耗。在新的FlexPaper版本中已經能夠解決這個問題。首先需要將你的文檔拆分成多份swf文件,然后在調用FlexPaper的時候設置好相關參數,這樣在瀏覽的時候就能夠分頁/分段加載。下面將介紹如何將文檔拆分成多份swf文件和怎么設置FlexPaper參數:

          關于如何拆分文檔,在FlexPaper 1.4.5中已經提供了一個開箱即用的示例。只要在支持PHP的服務器上運行其提供的'split_document.php'文件能夠自動進行分頁。對于服務器上不支持PHP運行的,可以在調用PDF2SWF程序時,在原來調用的命令行基礎上稍微修改一下具體如下:

          C:\SWFTools\pdf2swf.exe Paper.pdf -o Paper%.swf -f -T 9 -t -s storeallcharacters


          大家可以看到上面的命令行比原來只多了一個%符號,這個符號表示PDF2SWF轉換文檔時,將為每一頁創建一個swf文件。如:"Paper1.swf", "Paper2.swf"。然后在FlexPaper控件配置加載SwfFile的地方,采用:{filename[*,padding],total pages}這種語法表明。

          以下給出一個具體的配置示例:
           1         var fp = new FlexPaperViewer(    
           2         'FlexPaperViewer'
           3         'viewerPlaceHolder', { config : { 
           4                   SwfFile : "{Paper[*,0].swf,28}"
           5                   Scale : 0.6
           6                   ZoomTime : 0.5
           7                   ZoomInterval : 0.1
           8                   FitPageOnLoad : false
           9                   FitWidthOnLoad : false
          10                   PrintEnabled : false
          11                   MinZoomSize : 0.2
          12                   MaxZoomSize : 5
          13                   localeChain : "en_US" 
          14         }});

          在這個例子中,我們指示FlexPaper按分頁的方法來加載一個共有28頁的文檔,不需要用0填充文件名。假如你的文件是按"Paper01.swf", "Paper02.swf", .. 這種形式拆分時,要將padding設置成1,意思是用一個零來填充文件名。
          FlexPaper項目地址:http://flexpaper.devaldi.com/
          下載地址:http://flexpaper.devaldi.com/download/
          文檔地址:http://flexpaper.devaldi.com/docs.htm
          開源文檔共享平臺:http://doc.open-open.com/

          posted @ 2011-07-06 17:34 jforeverg 閱讀(8074) | 評論 (15)編輯 收藏

          主站蜘蛛池模板: 柳江县| 黑龙江省| 全州县| 正宁县| 巫山县| 杭锦后旗| 玉屏| 项城市| 陆丰市| 鸡东县| 界首市| 湖南省| 乐昌市| 遵义县| 江孜县| 铜梁县| 井研县| 德州市| 安阳市| 商水县| 兴隆县| 嘉义市| 康定县| 新野县| 嵊州市| 通榆县| 安塞县| 磐石市| 简阳市| 如皋市| 兴宁市| 牙克石市| 上蔡县| 宜良县| 新巴尔虎左旗| 石嘴山市| 廉江市| 大冶市| 双桥区| 合江县| 乐至县|