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}這種語法表明。
以下給出一個具體的配置示例:
var fp = new FlexPaperViewer(
'FlexPaperViewer',
'viewerPlaceHolder', { config : {
SwfFile : "{Paper[*,0].swf,28}",
Scale : 0.6,
ZoomTime : 0.5,
ZoomInterval : 0.1,
FitPageOnLoad : false,
FitWidthOnLoad : false,
PrintEnabled : false,
MinZoomSize : 0.2,
MaxZoomSize : 5,
localeChain : "en_US"
}});
在這個例子中,我們指示FlexPaper按分頁的方法來加載一個共有28頁的文檔,不需要用0填充文件名。假如你的文件是 按"Paper01.swf", "Paper02.swf", .. 這種形式拆分時,要將padding設置成1,意思是用一個零來填充文件名。
但是這種解決方法有點不足的地方就是拆分后的一個個swf文件大小加起來比較原來單個文檔的大小多了很多。
http://download.csdn.net/source/2492123
豆丁網緩存docin離線瀏覽(提供源碼)修改
http://download.csdn.net/source/2058487
FlexPaper 是一個開源的PDF文檔在線查看控件。用戶查看PDF文檔不需要安裝Acrobat Reader,但需要利用像SwfTools這樣的工具預先將PDF文檔轉成SWF格式的文件。FlexPaper能夠對需要查看的文檔進行分頁、搜索、 打印、縮放、全屏查看等
http://ajax.open-open.com/ajax20100330090431.htm
flexpaper Flex中顯示PDF功能
http://download.csdn.net/source/2446108
FlexPaper實現文檔在線瀏覽(附源碼)
http://www.cnblogs.com/sobne/articles/1822479.html
FlexPaper是一個開源輕量級的在瀏覽器上顯示各種文檔的組件
http://www.cnblogs.com/analyzer/articles/1669453.html
類似豆丁網、百度文庫的開源文檔播放器源碼下載
http://www.cnblogs.com/chenqingwei/archive/2010/06/29/1767181.html
FlexPaper_1.2.1.swc——Flex在線顯示PDF文檔(使用FlexPaper)感悟
http://www.cnblogs.com/wuhenke/archive/2010/03/16/1686885.html
實例
http://doc.open-open.com