FlexPaper+SWFTools 實(shí)現(xiàn)仿百度文庫(kù)及一些小問(wèn)題網(wǎng)上已有很多FlexPaper仿百度文庫(kù)的一些文章,園子里也有很多大牛的詳細(xì)教程。 結(jié)合這次做的例子,在這里詳細(xì)記錄一下使用Flexpaper實(shí)現(xiàn)仿百度文庫(kù)的效果,及自己在跟著園子里的教程做的時(shí)候,遇到的一些小問(wèn)題。希望能給初次接觸或者遇到同樣問(wèn)題的同學(xué)們提供一些小小的幫助。(描述不足之處,請(qǐng)大家多多見(jiàn)諒,畢竟是第一次在園子里寫(xiě)文章)。 1.準(zhǔn)備工作:下載FlexPaper及PDF轉(zhuǎn)換工具pdf2swf.exeFlexpaper下載地址:下載 (我下的是1.4.5 Flash Version (release notes)) Pdf2swf工具下載:下載 (我下的是swftools-2011-01-23-1815.exe下載后,安裝) 2.運(yùn)行官方的DEMO及Flexpaper的用法打開(kāi)剛剛下載好的Flexpaper文件夾,打開(kāi)里面的例子 index.html, (1)運(yùn)行官方的例子,不能加載任何的.swf(包括例子中的swf)(如果能正常顯示的話(huà),請(qǐng)?zhí)^(guò)這一步)運(yùn)行官方例子的時(shí)起,連所帶的Paper.swf都不能加載成功,只見(jiàn)到右上角的圈圈一直在動(dòng),處于等待的狀態(tài)。如下圖: 這種情況,是由于Flexpaper還沒(méi)獲得Adobe Flash的信任,這時(shí)你可以前住http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html#119065 為FlexPaper添加信任.進(jìn)入網(wǎng)頁(yè)之后 ,點(diǎn)擊左邊的 Global Security Settings papel 這個(gè)選項(xiàng),然后在右邊(如下圖) 為你的例子所在的文件夾添加信任。然后你再運(yùn)行官方的例子,就會(huì)發(fā)現(xiàn)可以運(yùn)行成功啦。 (2)Flexpaper的用法我們可以查看index.html源代碼,這里不多說(shuō),直接說(shuō)它的用法吧: 在前端的用法如下: <!--首先要引入jquery庫(kù)及相關(guān)的js--> 2 <script type="text/javascript" src="js/jquery.js"></script> html中的代碼,只需聲明一個(gè)a標(biāo)簽即可 <body> { config : { 基本上,這樣就可以在前端顯示你的Flexpaper了. (3)只能加載官方例子所帶的swf,但不能加載其他或自己的swf當(dāng)我們想要FlexPaper加載我們自己的swf時(shí),發(fā)現(xiàn)一直處于等待狀態(tài),無(wú)法顯示,檢查swf的路徑也沒(méi)錯(cuò),但就是一直無(wú)法加載。這種情況,很有可能就是.swf文件的版本問(wèn)題啦。我們運(yùn)行SWFTools的圖形工具(gpdf2swf.exe)把pdf轉(zhuǎn)換為swf,但是轉(zhuǎn)換后的swf也不能被Flexpaper正常加載,如果你確保路徑?jīng)]錯(cuò)的話(huà),那就是版本的問(wèn)題啦。 我們可以查看轉(zhuǎn)換時(shí)swf的版本,我們可以點(diǎn)擊 Edit->Options->Viewer 可以看到它幫我們轉(zhuǎn)換為SWF的版本有 7,8兩項(xiàng),但這都是不能正常在FlexPaper中加載的,我們必須把pdf轉(zhuǎn)換為版本為9的swf,才能讓它在Flexpaper中顯示。那么如何轉(zhuǎn)換為9的呢?我自己是使用cmd命令行工具來(lái)手工轉(zhuǎn)換的.只須在命令行添加 "-s flashversion=9" 這句,就可以轉(zhuǎn)換為9的版本啦.示例如下: 參數(shù)說(shuō)明如下: (SWFTools我的默認(rèn)安裝路徑是: E:\Program Files\) SWFTools:pdf2swf.exe工具所在的文件夾, -t: 源文件路徑,即待轉(zhuǎn)換的pdf文件路徑。 -s: 設(shè)置參數(shù),這里我們?cè)O(shè)置為 flashversion=9 ,即可以轉(zhuǎn)換為9 的版本啦。 -o: 輸出文件的路徑,這里我輸出到F:盤(pán)下 好了,這樣就轉(zhuǎn)換成功啦,你就可以得到一個(gè).swf的文件,你只需拷到你下載的Demo里,配置好路徑后,你就會(huì)發(fā)現(xiàn)FlexPaper可以正常加載你的swf啦. 在這里稍微強(qiáng)調(diào)一個(gè)小問(wèn)題:文件夾名字帶有空格 對(duì)于 -t ,-o 這兩個(gè)參數(shù),就是對(duì)于源文件路徑來(lái)輸出文件路徑的問(wèn)題,如果你的文件夾的名字中,有空格的話(huà),這樣是不能找到你的文件的。 比如說(shuō):我要轉(zhuǎn)換的pdf源文件在 E:\Program Files\SWFTools\這個(gè)文件夾下,當(dāng)我這樣寫(xiě) -t E:\Program Files\SWFTools\ajax.pdf 或者是輸出文件路徑寫(xiě)成這樣 - o E:\Program Files\SWFTools\ajax.swf 這樣都是不能成功的,因?yàn)檫@里面有文件夾名含有空格,這應(yīng)該是cmd命令的問(wèn)題(這個(gè)我也不是很懂,希望有高手能說(shuō)一下),這里你只有在路徑的前后加上又引號(hào)就能成功啦,如: -t "E:\Program Files\SWFTools\ajax.pdf" 或 -o "E:\Program Files\SWFTools\ajax.swf" 這樣就OK啦. 3. Asp.net 調(diào)用pdf2swf.exe把PDF轉(zhuǎn)換為SWF的用法代碼如下: 1 private static void ConvertCmd(string fileName) 其中,我的pdf文件存放在~/TextSWF/文件夾下,轉(zhuǎn)換后的swf也是存放在同一文件夾下。 按照以上的做法,應(yīng)該沒(méi)什么問(wèn)題,就可以做出類(lèi)似于百度文庫(kù)的效果了。 好了,第一次寫(xiě)文章,難免會(huì)有疏漏不足這處,希望各位高手不吝嗇指出與賜教. 最后附上一個(gè)簡(jiǎn)單的小例子源碼:PDFViewer.zip |
|
來(lái)自: 閃寧斯達(dá) > 《file-convert》