FlexPaper實現文檔線上瀏覽(附源碼) 文庫預覽

來源:互聯網
上載者:User
FlexPaper實現文檔線上瀏覽(附源碼)

轉自:http://www.cnblogs.com/sobne/articles/1822479.html

 

 

    園子裡也有關於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檔案的外掛程式  點這裡下載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.