一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

FlexPaper SWFTools 實(shí)現(xiàn)仿百度文庫(kù)及一些小問(wèn)題

 閃寧斯達(dá) 2012-07-06

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.exe

Flexpaper下載地址:下載 (我下的是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>
3 <script type="text/javascript" src="js/flexpaper_flash.js"></script>
4 <script type="text/javascript" src="js/flexpaper_flash_debug.js"></script>

 html中的代碼,只需聲明一個(gè)a標(biāo)簽即可

復(fù)制代碼
 <body> 
<div style="position:absolute;left:10px;top:10px;">
<a id="viewerPlaceHolder" style="width:660px;height:480px;display:block"></a>
<script type="text/javascript">
var fp
= new FlexPaperViewer(
'FlexPaperViewer',
'viewerPlaceHolder',  <!--對(duì)應(yīng)于a 標(biāo)簽的id-->
                         { config : {
SwfFile : escape(
'ajax.swf'), <!--這句是關(guān)鍵: SwfFile: 指示導(dǎo)入的.swf的路徑-->
Scale :
0.6,
ZoomTransition :
'easeOut',
ZoomTime :
0.5,
ZoomInterval :
0.2,
FitPageOnLoad :
true,
FitWidthOnLoad :
false,
PrintEnabled :
true,
FullScreenAsMaxWindow :
false,
ProgressiveLoading :
false,
MinZoomSize :
0.2,
MaxZoomSize :
5,
SearchMatchAll :
false,
InitViewMode :
'Portrait',

ViewModeToolsVisible :
true,
ZoomToolsVisible :
true,
NavToolsVisible :
true,
CursorToolsVisible :
true,
SearchToolsVisible :
true,
localeChain:
'en_US'
}});
</script>
</div>
</body>
復(fù)制代碼

 基本上,這樣就可以在前端顯示你的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的用法

 代碼如下:

復(fù)制代碼
 1   private static void ConvertCmd(string fileName)
2 {
3
4 using (Process p = new Process())
5 {
6 string cmdStr = HttpContext.Current.Server.MapPath("~/SWFTools/pdf2swf.exe");
7 string savePath = HttpContext.Current.Server.MapPath("~/TestSWF/");
8 // @"""" 相當(dāng)于一個(gè)雙引號(hào),之所以要加@"""" 就是為了防止要轉(zhuǎn)換的過(guò)程中,文件夾名字帶有空格,導(dǎo)致失敗
9 string sourcePath = @"""" + savePath + fileName + @"""";
10 string targetPath = @"""" + savePath + fileName.Substring(0, fileName.LastIndexOf(".")) + ".swf" + @"""";
11 string argsStr = " -t " + sourcePath + " -s flashversion=9 -o " + targetPath;
12 //調(diào)用新進(jìn)程 進(jìn)行轉(zhuǎn)換
13 ProcessStartInfo psi = new ProcessStartInfo(cmdStr, argsStr);
14 p.StartInfo = psi;
15 p.Start();
16 p.WaitForExit();
17 }
18 }
復(fù)制代碼

  其中,我的pdf文件存放在~/TextSWF/文件夾下,轉(zhuǎn)換后的swf也是存放在同一文件夾下。

按照以上的做法,應(yīng)該沒(méi)什么問(wèn)題,就可以做出類(lèi)似于百度文庫(kù)的效果了。

好了,第一次寫(xiě)文章,難免會(huì)有疏漏不足這處,希望各位高手不吝嗇指出與賜教.

最后附上一個(gè)簡(jiǎn)單的小例子源碼:PDFViewer.zip

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多

    高清一区二区三区大伊香蕉| 制服丝袜美腿美女一区二区| 97人摸人人澡人人人超碰| 熟妇人妻av中文字幕老熟妇| 亚洲中文字幕综合网在线| 亚洲国产成人精品一区刚刚| 激情综合网俺也狠狠地| 欧美一区二区三区五月婷婷 | 日本一品道在线免费观看| 丁香七月啪啪激情综合| 成人免费观看视频免费| 午夜精品一区二区三区国产| 国产三级黄片在线免费看| 亚洲精品中文字幕一二三| 亚洲av秘片一区二区三区| 91欧美日韩中在线视频| 真实国产乱子伦对白视频不卡| 午夜视频成人在线观看| 日韩精品一区二区毛片| 日本人妻丰满熟妇久久| 成年人黄片大全在线观看| 亚洲a码一区二区三区| 色婷婷视频免费在线观看| 午夜精品一区二区三区国产| 国产又粗又硬又长又爽的剧情| 午夜国产精品福利在线观看| 色婷婷在线视频免费播放| 色一情一乱一区二区三区码| 亚洲性生活一区二区三区| 好吊妞在线免费观看视频| 午夜资源在线观看免费高清| 国产熟女一区二区不卡| 日韩精品一级一区二区| 国产成人高清精品尤物| 91亚洲国产成人久久精品麻豆| 精品人妻一区二区三区免费看| 亚洲第一区欧美日韩在线| 日韩在线中文字幕不卡| 一区中文字幕人妻少妇| 亚洲伦片免费偷拍一区| 日韩偷拍精品一区二区三区|