http://www.haolizi.net/example/view_938.html
【實例簡介】
沒有較全的參數(shù)說明。就連官方網(wǎng)站都沒有。沒法,最后只得將swf文件反編譯后查看了源碼才將里面的參數(shù)全部弄出來。
好了,廢話不多說,開始正題。
1. 概述
FlexPaper是一個開源輕量級的在瀏覽器上顯示各種文檔的組件,被設(shè)計用來與PDF2SWF一起使用, 使在瀏覽器中顯示PDF成為可能,而這個過程并無需PDF軟件環(huán)境的支持。
另外也可以通過將一些例如Word、PPT等文檔轉(zhuǎn)成PDF,然后實現(xiàn)在線瀏覽。
2. 實現(xiàn)步驟
文檔(PDF,Word,PPT等)
----> 轉(zhuǎn)換為SWF -----> 使用FlexPa在線瀏覽
2.1. 轉(zhuǎn)換SWF
需要使用一個工具,SwfTools,目前最新版本是0.9.1;
下載地址
可以使用命令行將文件轉(zhuǎn)換為swf文件;
例如將Paper3.pdf轉(zhuǎn)換成Paper3.swf的命令為:
C:\SWFTools\pdf2swf.exe
Paper3.pdf -o Paper3.swf
與之對應(yīng)的程序?qū)崿F(xiàn)方法:(C#)
Process pc = new Process();
ProcessStartInfo
psi = new ProcessStartInfo(“C:\\SWFTools\\pdf2swf.exe”,
“Paper3.pdf Paper3.swf”);
pc.StartInfo = psi;
pc.Start();
pc.WaitForExit();
更多關(guān)于SwfTools命令的說明可點這里下載說明文檔。
2.2. 瀏覽器中瀏覽
首先要下載Flexpaper,目前最新版本為1.4.0
;
下載地址
下載后解壓到網(wǎng)頁目錄中。
在頁面中使用以下代碼即可實現(xiàn)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參數(shù)是你想顯示的文件,Scale是0-1之間的數(shù),表示顯示的放大參數(shù)。
說的再好聽,不如看源碼來得直接。源碼在這里下。
下面才是本文 的重點(網(wǎng)上找不到的 *_*,找到也沒有這詳細;嘻嘻)
3. 參數(shù)列表
官方網(wǎng)站有,但是沒有我的全。
去官網(wǎng)
參數(shù)名稱 |
參數(shù)值及說明 |
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. 事件與函數(shù)
這個不多,還是列下吧,不過要詳細的請到官網(wǎng)去看吧。去官網(wǎng)
函數(shù)名稱 |
函數(shù)說明 |
gotoPage (Number
pageNumber) |
跳轉(zhuǎn)到指定頁 |
fitWidth() |
設(shè)置為寬度模式視圖 |
fitHeight() |
設(shè)置為高度模式視圖 |
loadSwf (String
swffile) |
加載一個新的swf文件到瀏覽器中
|
getCurrPage() |
獲取當前頁碼 |
nextPage() |
跳轉(zhuǎn)到下一頁 |
prevPage () |
跳轉(zhuǎn)到上一頁 |
Zoom (Number
factor) |
按系數(shù)縮放 |
searchText (String
text) |
搜索文字 |
switchMode (String mode) |
變換視圖模式;參數(shù)值可為("Portrait", "Two Page",
"Tile") |
printPaper ()
|
打印加載的文檔
|
事件名稱 |
事件說明 |
onDocumentLoaded ()
|
文檔加載完成后觸發(fā) |
onDocumentLoadedError (String
errorMessage)
|
加載文檔出錯時候觸發(fā) |
onProgress (Number
bytesloaded, Number
bytestotal)
|
文檔正在加載的時候觸發(fā) |
onCurrentPageChanged (Number
pagenumber)
|
頁面改變時觸發(fā) |
onExternalLinkClicked (String
link)
|
當用戶點擊外部鏈接的時候觸發(fā)
|
【實例截圖】
【核心代碼】
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
Partial Public Class _Default
Inherits System.Web.UI.Page
Protected Sub Page_Load( ByVal sender As Object , ByVal e As System.EventArgs) Handles Me .Load
End Sub
Protected Sub Button1_Click( ByVal sender As Object , ByVal e As EventArgs) Handles Button1.Click
If FileUpload1.HasFile Then
If ImageUtil.IsPDF(FileUpload1.FileName) Then
ErrorLabel.Visible = False
Dim savePath As String = Request.MapPath( "PDF" ) & "\" & FileUpload1.FileName
FileUpload1.SaveAs(savePath)
PDFViewer1.CurrentPageNumber = 3
PDFViewer1.FileName = savePath
Else
ErrorLabel.Text = "Only PDF files (*.pdf) are allowed to be uploaded."
ErrorLabel.Visible = True
End If
End If
End Sub
End Class
|