天天看點

FlexPaper二次開發問題及搜尋高亮顯示

最近有個需求,做一個IT知識庫,類似于文庫,說到文庫肯定會用到線上浏覽文檔了,所有在網上翻閱了一下類似豆丁的線上浏覽器插件的資料,将其進行了二次開發,在這跟需要用到的朋友分享一下,下面部分内容用到有些前輩的部落格内容,首次寫博,寫的不好之處請見諒。。。高手勿噴,O(∩_∩)O謝謝

1.前期準備工作

1.首先二次開發,當然前提是需要一份FlexPaper的源碼。源碼下載下傳位址:

http://files.cnblogs.com/yimiao/FlexPaper.rar

2.由于開發需要Adobe Flash Builder,我用的版本是4.5的

在這裡貼一篇關于Adobe Flash Builder4.5的下載下傳及安裝方面的部落格供大夥參閱一下。部落格:

http://blog.csdn.net/buptdavid/article/details/6880497

提供個key:1499-4181-9296-6452-2998-3656

準備工作做完之後,接着往下看:

2.源碼修改

首先在flash builder中建立一個flex項目,第一步填寫項目名稱FlexPaperViewer,第二步直接預設,最後一步也無需更改。

FlexPaper二次開發問題及搜尋高亮顯示
FlexPaper二次開發問題及搜尋高亮顯示
FlexPaper二次開發問題及搜尋高亮顯示

1.1然後把你1步下載下傳下來的源碼解壓。

FlexPaper二次開發問題及搜尋高亮顯示

1.2将這個檔案直接拷貝到FlexPaperView項目中,如下圖顯示:

FlexPaper二次開發問題及搜尋高亮顯示

2. 1将項目下FlexPaperViewer/src/預設包/FlexPaperViewer.mxml檔案内容換成:

2.2替換内容之後,運作程式,會出現如下一個錯誤:

FlexPaper二次開發問題及搜尋高亮顯示

點選這個錯誤,跳到錯誤語句那裡,然後将其删除,不會影響程式

2.3

FlexPaper二次開發問題及搜尋高亮顯示

再運作程式,浏覽器就能顯示出來了

FlexPaper二次開發問題及搜尋高亮顯示

3.樣式修改

3.1:去除右上角Logo,以及右下角logo

--1.去右上角logo,首先打開FlexPaperViewer.mxml檔案,搜尋bttnInfo,一共就三句,全部注釋掉。然後再運作,就會發現右上角的logo就沒了

FlexPaper二次開發問題及搜尋高亮顯示
FlexPaper二次開發問題及搜尋高亮顯示

--2.右下角Logo

打開Viewer.as檔案,找到createDisplayContainer這個函數。在addChild(_skinImgDo);後面加入_skinImgDo.visible = false;(雖然不懂,但是這些看看也都能知道個大概),再運作的時候發現右下角的Logo也不見了

FlexPaper二次開發問題及搜尋高亮顯示

--3:去列印按鈕

去右上角logo,首先打開FlexPaperViewer.mxml檔案,搜尋print,将這行注釋或者删除,列印按鈕也消失了

FlexPaper二次開發問題及搜尋高亮顯示

3.2:修改樣式或者删除工具欄裡面的按鈕都可以在FlexPaperViewer.mxml檔案裡進行相應的操作

感覺工具欄裡面的圖示不好看的話,可以在網上down一些小圖示然後拷貝到assets這個檔案夾裡面,然後将原來的圖示的名字換到你的圖示裡面就行了

FlexPaper二次開發問題及搜尋高亮顯示

這是我換過圖示的樣子,大家也都可以更換一下,根據自己的喜好換換。原先的感覺太死闆不怎麼好看

3.3:當滑鼠移到工具欄上的圖示時,上面顯示英文提示:如果想換成中文的話,找到檔案夾路徑locale/en_Us/FlexPaper.properties的這個檔案,修改對應的提示如下所示:

4.高亮顯示問題:

修改之後的浏覽器搜尋内容時,不會出現高亮顯示,這是為什麼呢,有的朋友可能發現,自帶的檔案Paper.swf就可以,為什麼自己生成的swf檔案不可以呢?

這個原因是因為你使用SWFTools裡面這個轉換工具pdf2swf.exe時,參數沒給,  string argsStr = PDFFilePath + " -o " + targetPath + " -T 9 -f";,加上-f就可以查找時高亮顯示了

另附上pdf2swf.exe詳細參數:

其中把pdf轉成swf的工具就是pdf2swf了。在指令行中運作pdf2swf src.pdf des.swf一般能滿足需求。而指令行參數可以通過pdf2swf -f得到:

-h , –help                      Print short help message and exit              列印幫助資訊

-V , –version                Print version info and exit                        列印版本号

-o , –output file.swf         Direct output to file.swf. If file.swf contains ‘13568621′ (file13568630.swf), then each page指定輸出的swf檔案名

-p , –pages range             Convert only pages in range with range e.g. 1-20

or 1,4,6,9-11 or

指定轉換的頁面範圍,使用的頁碼描述方法與列印機列印檔案時候的選頁一樣

-P , –password password       Use password for deciphering the pdf.指定打開pdf的密碼

-v , –verbose                 Be verbose. Use more than one -v for greater effect.轉換時輸出詳細的内容

-z , –zlib                    Use Flash 6 (MX) zlib compression.使用Flash 6的zlib壓縮機制

-i , –ignore                  Allows pdf2swf to change the draw order of the pdf. This may make the generated允許程式修改pdf的繪制順序,可能會導緻結果與原來有差異

-j , –jpegquality quality     Set quality of embedded jpeg pictures to quality. 0 is worst (small), 100 is best (big). (default:85)設定轉換其中的jpeg圖檔的品質,從0到100,預設值是85。

-s , –set param=value         Set a SWF encoder specific parameter.  See pdf2swf -s help for more information.  設定SWF轉碼時候的參數,具體參數可以用pdf2swf -s help擷取

-w , –samewindow              When converting pdf hyperlinks, don’t make the links open a new window.        設定轉換後的swf打開原pdf中的連接配接時使用相同的視窗

-t , –stop                    Insert a stop() command in each page.            在每頁結尾添加一個stop()指令

-T , –flashversion num        Set Flash Version in the SWF header to num.         設定SWF所使用的flash版本号

-F , –fontdir directory       Add directory to the font search path.                    指定字型檔案所在路徑

-b , –defaultviewer           Link a standard viewer to the swf file.             指定預設的swf導航檔案,用來翻頁、放大縮小等等

-l , –defaultloader           Link a standard preloader to the swf file which will be displayed while the main swf is loading.     指定預設的swf加載檔案,用來顯示加載程序效果

-B , –viewer filename         Link viewer filename to the swf file.   指定swf導航檔案,作用同-b

-L , –preloader filename      Link preloader filename to the swf file.      指定swf加載檔案,作用同-l

-q , –quiet                   Suppress normal messages.  Use -qq to suppress warnings, also.  不列印普通資訊,用-qq就不列印警告資訊。

-S , –shapes                  Don’t use SWF Fonts, but store everything as shape. 不使用字型,所有都轉為形狀。

-f , –fonts                   Store full fonts in SWF. (Don’t reduce to used characters). 在swf中儲存全部字型。

-G , –flatten                 Remove as many clip layers from file as possible. 在檔案中盡量去除影片層,合并它們

-I , –info                    Don’t do actual conversion, just display a list of all pages in the PDF. 不做實際轉換,僅顯示PDF的資訊。

-Q , –maxtime n               Abort conversion after n seconds. Only available on Unix. 如果運作時間逾時則退出。

基本上這個小插件的的二次開發就到這裡了,寫了這麼多,感覺有點啰嗦。不過能幫助到大家還是很好的 

繼續閱讀