FlexPaper實現文檔在線瀏覽(附源碼)


園子里也有關於FlexPaper的文章,但都不怎么詳細。

沒有較全的參數說明。就連官方網站都沒有。沒法,最后只得將swf文件反編譯后查看了源碼才將里面的參數全部弄出來。

好了,廢話不多說,開始正題。

1. 概述

FlexPaper是一個開源輕量級的在瀏覽器上顯示各種文檔的組件,被設計用來與PDF2SWF一起使用, 使在瀏覽器中顯示PDF成為可能,而這個過程並無需PDF軟件環境的支持。

另外也可以通過將一些例如Word、PPT等文檔轉成PDF,然后實現在線瀏覽。

2. 實現步驟

 

文檔(PDF,Word,PPT等) ----> 轉換為SWF -----> 使用FlexPa在線瀏覽

2.1. 轉換SWF

需要使用一個工具,SwfTools,目前最新版本是0.9.1;

下載地址

可以使用命令行將文件轉換為swf文件;

例如將Paper3.pdf轉換成Paper3.swf的命令為:

C:\SWFTools\pdf2swf.exe Paper3.pdf -o Paper3.swf

與之對應的程序實現方法:(C#)

Process pc = new Process();
ProcessStartInfo psi = new ProcessStartInfo(“C:\\SWFTools\\pdf2swf.exe”, “Paper3.pdf Paper3.swf”);
pc.StartInfo = psi;
pc.Start();
pc.WaitForExit();

更多關於SwfTools命令的說明可點這里下載說明文檔。

2.2. 瀏覽器中瀏覽

首先要下載Flexpaper,目前最新版本為1.4.0 ;

下載地址

下載后解壓到網頁目錄中。

在頁面中使用以下代碼即可實現Swf文檔的瀏覽。

 

var params = {
SwfFile : "Paper.swf",
Scale : 0.6
}
swfobject.embedSWF("FlexPaperViewer.swf","cb","500","500","9.0.0","js/swfobject/expressInstall.swf", params)

SwfFile參數是你想顯示的文件,Scale是0-1之間的數,表示顯示的放大參數。

說的再好聽,不如看源碼來得直接。源碼在這里下。

下面才是本文 的重點(網上找不到的 *_*,找到也沒有這詳細;嘻嘻)

3. 參數列表

官方網站有,但是沒有我的全。 去官網

參數名稱

參數值及說明

CursorToolsVisible

(True/False)

FitPageOnLoad

(True/False)

FitWidthOnLoad

(True/False)

FullScreenAsMaxWindow

(True/False)

FullScreenVisible

(True/False)

NavToolsVisible

(True/False)

PrintEnabled

(True/False)

PrintToolsVisible

(True/False)

ProgressiveLoading

(True/False)

Scale

 

SearchToolsVisible

(True/False)

StartAtPage

 

SwfFile

 

ViewModeToolsVisible

(True/False)

ZoomInterval

 

ZoomTime

 

ZoomToolsVisible

(True/False)

ZoomTransition

 

4. 事件與函數

這個不多,還是列下吧,不過要詳細的請到官網去看吧。去官網

函數名稱

函數說明

gotoPage (Number pageNumber)

跳轉到指定頁

fitWidth()

設置為寬度模式視圖

fitHeight()

設置為高度模式視圖

loadSwf (String swffile)

加載一個新的swf文件到瀏覽器中

getCurrPage()

獲取當前頁碼

nextPage()

跳轉到下一頁

prevPage ()

跳轉到上一頁

Zoom (Number factor)

按系數縮放

searchText (String text)

搜索文字

switchMode (String mode)

變換視圖模式;參數值可為("Portrait", "Two Page", "Tile")

printPaper ()

打印加載的文檔

事件名稱

事件說明

onDocumentLoaded ()

文檔加載完成后觸發

onDocumentLoadedError(String errorMessage)

加載文檔出錯時候觸發

onProgress(Number bytesloaded, Number bytestotal)

文檔正在加載的時候觸發

onCurrentPageChanged(Number pagenumber)

頁面改變時觸發

onExternalLinkClicked(String link)

當用戶點擊外部鏈接的時候觸發

文章最后再附個在線瀏覽pdf文件的插件 點這里下載。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM